小编bat*_*tub的帖子

标准向量构造元素一次

这是一个非常直截了当的问题.有没有办法有一个向量并初始化一个元素而不构造然后复制它?

class BigType
{
 // has a costly copy constructor
};

int main(void)
{
    using std::vector;
    vector<BigType> bigTypeVec;
    bigTypeVec.push_back(BigType(/*constructor from parameters*/));
    // This constructs a temp object, and then copies it to the new element.
}
Run Code Online (Sandbox Code Playgroud)

当然有各种各样的工作包括涉​​及指针的向量,或者不使用构造函数,用set函数初始化元素的组件,但是我想知道是否有办法做到这一点它可以调用它在push_back期间分配的元素上的构造函数.

编辑:这个问题被标记为重复,但我查看了该页面并且他的问题的答案没有回答我的问题.我想知道如何通过构造一次来设置元素的值,而不是将构造临时对象复制到元素中.Emplace是一个很好的方法.

c++ vector c++11

0
推荐指数
1
解决办法
1191
查看次数

标签 统计

c++ ×1

c++11 ×1

vector ×1