默认参数的默认构造

时间:2015-10-08 20:16:12

标签: c++ function default-value

前提:我懒惰。而且我不喜欢长队。

假设您有一个带有一个参数的函数,并且您想为该参数指定一个默认值。我们假设参数是std::map,默认只是一张空地图。这样做的方法是

void foo (std::map<Key,Value> the_map = std::map<Key,Value>());

现在,如果Key和/或Value的名称很长(可能是模板化的),则函数声明会变长。有办法写一些像

这样的东西会很高兴
void foo (std::map<Key,Value> the_map = auto);

现在,我知道不是使用关键字auto,而只是解释了这个概念:我不想将已经很长的函数声明的长度加倍只是因为必须写下一个简单的默认构造的默认元素。我只是想告诉编译器&#34;看看,在那里构建一个默认的&#34;。有没有办法做到这一点?此外,是否有人也有这种需求?

注意:是的,我可以输入定义地图类型并使用短名称。但我想采用不同的方式。 注2:是的,我也可以重载该函数,因此它的一个版本不带参数而另一个版本不带参数。但我想采用不同的方式。

我想我正在寻找的是&#34;默认默认参数&#34; ...

0 个答案:

没有答案