Reputation: 750
For example, a class named Table, with its constructor being:
Table(string name="", vector <string> mods);
How would I initialize the vector to be empty?
Edit: Forgot to mention this was C++.
Upvotes: 16
Views: 18054
Reputation: 2605
To add to the other answer: If you're using c++11, you can use the universal initialization syntax to shorten the default parameter declaration for a vector to the following:
Table(string name="", vector<string> mods={});
Upvotes: 11
Reputation: 35460
Table(string name="", vector <string> mods);
if you want vector to be empty inside constructor then
mods.clear();
or
mods.swap(vector<string>());
In case you want as a default parameter:
Table(string name="", vector<string> mods = vector<string>());
Like any other default parameter.
Upvotes: 25