ein*_*ica 3 c++ constants vector variadic-functions initializer-list
我需要详细说明以下类的构造函数:
class Foo {
public:
const std::vector<Bar> bars;
Foo(int num_bars, ...);
}
Run Code Online (Sandbox Code Playgroud)
为了讨论的方便,假设额外的参数是 allconst Bar&或 just Bar。
我需要使用 va_list 中的条来初始化 v 的构造。我怎样才能做到这一点?
你不能。改为制作Foo一个可变参数模板:
template <typename ...ArgumentTypes>
Foo(ArgumentTypes&& args...):
bars({std::forward<ArgumentTypes>(args)...})
{
}
Run Code Online (Sandbox Code Playgroud)
这使用向量的初始化列表构造函数。