c++ - push_back 新元素到 vector

标签 c++ c++11 vector

我有这个 vector :

std::vector<my_class> my_vector;

我想使用默认构造函数添加新项目。所以,我写:

my_vector.push_back(my_class());

有没有办法不直接提及类型就可以做到这一点?。例如:

 my_vector.push_back(auto()); // imaginary code

最佳答案

std::vector 有一个名为 emplace_back 的成员函数它根据提供给函数的参数在 vector 中构造 vector 元素类型的新实例。

所以如果 my_class 是默认可构造的,你可以这样做:

my_vector.emplace_back();

关于c++ - push_back 新元素到 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331799/

相关文章:

c++ - 将csv字符串读入 vector C++

c++ - fgets 中的 vector 类型

c++ - 如何删除和删除指向存储在 vector 中的对象的指针?

c++ - cv-qualified struct 的成员不是类似的 cv-qualified

c++ - 客户端断开连接后处理服务器应用程序中的线程

如果通过指针分配,c++ vector.size() 不会更新

c++ - 将仅将构造函数 move 到 vector 的对象推回

c++ - 静态变量 & For 循环

c++ - 右值是否作为参数传递给函数内部的左值?

c++ - 对包含索引小部件的 QTableView 列进行排序