请原谅我已经回答了,因为我找不到它......
基本上我有一个对象需要在它的构造函数中获取可变参数列表并将参数存储在向量中.如何从可变参数构造函数的参数初始化向量?
class GenericNode {
public:
GenericNode(GenericNode*... inputs) {
/* Something like... */
// inputs_.push_back(inputs)...;
}
private:
std::vector<GenericNode*> inputs_;
};
Run Code Online (Sandbox Code Playgroud) 假设,我有一个结构
struct A
{
std::string name;
};
Run Code Online (Sandbox Code Playgroud)
并且想要编写从对象读取字段"name"并将其作为返回的函数std::vector<std::string>.是否可以通过可变参数模板(或任何非迭代方法)来完成此操作.我的目标是这样的:
template<typename... Ts>
std::vector<std::string> function(Ts... ts)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在程序中:
A a1, a2, a3, a4;
function(a1, a2, a3, a4);
Run Code Online (Sandbox Code Playgroud)
输出: {a1.name, a2.name, a3.name, a4.name}