Как установить параметр по умолчанию для вектора для использования в конструкторе по умолчанию в классе?

например, класс с именем Table, с его конструктором: Table(string name="", vector <string> mods);

как инициализировать вектор, чтобы он был пустым?

изменить: Забыл упомянуть, что это был c++.

2 ответов


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

если вы хотите, чтобы вектор был пуст внутри конструктора, то

mods.clear();

или

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

в случае, если вы хотите в качестве параметра по умолчанию:

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

как и любой другой параметр по умолчанию.


чтобы добавить к другому ответу: если вы используете c++11, вы можете использовать универсальный синтаксис инициализации, чтобы сократить объявление параметра по умолчанию для вектора до следующего:

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