bar*_*gol 0 c++ function default-value
前提:我很懒.而且我不喜欢排长队.
假设您有一个带有一个参数的函数,并且您想为该参数指定一个默认值.假设参数是a std::map,默认只是一个空映射.这样做的方法是
void foo (std::map<Key,Value> the_map = std::map<Key,Value>());
Run Code Online (Sandbox Code Playgroud)
现在,如果Key和/或名称Value很长(可能是模板化的),则函数声明变长.有办法写一些类似的东西会很好
void foo (std::map<Key,Value> the_map = auto);
Run Code Online (Sandbox Code Playgroud)
现在,我知道这不是关键字的使用auto,但它只是解释了这个概念:我不想仅仅因为必须写下一个简单的默认构造的默认元素而将已经很长的函数声明的长度加倍.我只是想告诉编译器"看看,在那里构建一个默认的".有没有办法做到这一点?此外,有人也觉得这个需要吗?
注意:是的,我可以输入定义地图类型并使用短名称.但我想采用不同的方式.注2:是的,我也可以重载该函数,因此它的一个版本不带参数而另一个版本不带参数.但我想采用不同的方式.
我想我正在寻找的是"默认默认参数"......
您可以将其{}用作初始化子句,它将对参数进行值初始化.
void foo(std::map<K, V> the_map = {});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |