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

Oma*_*mar 14 c++ string parameters constructor vector

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

如何将矢量初始化为空?

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

aJ.*_*aJ. 21

Table(string name="", vector <string> mods);
Run Code Online (Sandbox Code Playgroud)

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

mods.clear();
Run Code Online (Sandbox Code Playgroud)

要么

mods.swap(vector<string>());
Run Code Online (Sandbox Code Playgroud)

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

 Table(string name="", vector<string> mods = vector<string>());
Run Code Online (Sandbox Code Playgroud)

像任何其他默认参数一样.


Nar*_*lei 10

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

Table(string name="", vector<string> mods={});
Run Code Online (Sandbox Code Playgroud)