如何设置vector <string>的默认参数,以便在类中的默认构造函数中使用?</string>

时间:2009-12-06 03:20:32

标签: c++ string parameters vector constructor

例如,一个名为Table的类,其构造函数为: Table(string name="", vector <string> mods);

如何将矢量初始化为空?

编辑: 忘记提到这是C ++。

2 个答案:

答案 0 :(得分:21)

Table(string name="", vector <string> mods);

如果你想在构造函数中使vector为空,那么

mods.clear();

mods.swap(vector<string>());

如果您想要作为默认参数:

 Table(string name="", vector<string> mods = vector<string>());

与任何其他默认参数一样。

答案 1 :(得分:10)

要添加到另一个答案:如果您正在使用c ++ 11,则可以使用通用初始化语法将向量的默认参数声明缩短为以下内容:

Table(string name="", vector<string> mods={});