[英]push_back new element to vector
我有這個向量:
std::vector<my_class> my_vector;
我想用默認構造函數添加新項。 所以,我寫道:
my_vector.push_back(my_class());
有沒有辦法直接提到它? 例如:
my_vector.push_back(auto()); // imaginary code
std::vector
有一個名為emplace_back
的成員函數,它從向函數提供的參數構造向量中元素類型的新實例。
因此,如果my_class
是默認可構造的,您可以這樣做:
my_vector.emplace_back();
my_vector.resize(my_vector.size() + 1);
如果您的類允許默認構造函數:
my_vector.push_back({});
my_vector.push_back(decltype(my_vector)::value_type());
my_vector.push_back({});
甚至更好
my_vector.emplace_back();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.