例如,一个名为Table的类,其构造函数为:
Table(string name="", vector <string> mods);
如何将矢量初始化为空?
编辑: 忘记提到这是C ++。
答案 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={});