我的問題很簡單,一個類的構造函數不能與std::vector
一起使用。用戶定義的類的構造函數不能與矢量工作
class my_class
{
public:
my_class() { std::cout << "my_class constructed\n"; }
};
int main()
{
std::vector <my_class> v;
}
程序沒有輸出任何東西,即使它應該輸出my_class constructed
。那麼我認爲構造工程,爲vector
的每一個元素,所以我這樣做:
class my_class
{
public:
my_class() { std::cout << "my_class constructed"; }
};
int main()
{
my_class object;
std::vector <my_class> v;
v.push_back(object);
}
此代碼輸出:
my_class constructed
這種結構發生因my_class
對象,使用push_back()
不是因爲。
如何使構造函數適用於std::vector
? 如果您需要更多的細節,我會很樂意提供。
提示:同時也是複製構造函數的工具。 – Quentin
神聖的三位一體,或者如果那不是你的事 - 三條規則。 – DeiDei
@DeiDei或5的規則。 – erip