Например клас с име Таблица, чийто конструктор е: Table(string name="", vector <string> mods);
Как бих инициализирал вектора да бъде празен?
Редактиране: Забравих да спомена, че това беше C++.
Например клас с име Таблица, чийто конструктор е: Table(string name="", vector <string> mods);
Как бих инициализирал вектора да бъде празен?
Редактиране: Забравих да спомена, че това беше C++.
Table(string name="", vector <string> mods);
ако искате векторът да е празен вътре в конструктора, тогава
mods.clear();
or
mods.swap(vector<string>());
В случай, че искате като параметър по подразбиране:
Table(string name="", vector<string> mods = vector<string>());
Като всеки друг параметър по подразбиране.
vector<string> mods
да бъде reference
, тогава трябва да използвате const
в такива случаи, защото C++
не позволява временни променливи да бъдат асоциирани с reference
.
- person Krishna Oza; 09.03.2016
За да добавите към другия отговор: Ако използвате c++11, можете да използвате универсалния синтаксис за инициализация, за да съкратите декларацията на параметър по подразбиране за вектор до следното:
Table(string name="", vector<string> mods={});