此问题已存在:
Iterating over a short, fixed list of strings [closed]
4天前关闭。
根据Iterating over a short, fixed list of strings的评论,在现代C++中,你可以这样写:
for (auto color: {"red", "green", "blue"})
你能用函数调用做类似的事情吗?如果可以,相应的参数声明语法是什么?换句话说
void foo( /* ... */ )
foo({"red", "green", "blue"});
...
应该用什么代替?
3条答案
按热度按时间inn6fuwd1#
下面是一个带有参数包和折叠表达式的替代方法:
ngynwnxp2#
你也可以用一个函数模板来实现:
vxqlmq5t3#
你可以的通常的方法是将
foo
声明为接受initializer_list
,例如:注意,例如,
std::vector
就有这样一个构造函数,并且列表中的所有对象都必须是相同的类型。