vector emplace_back用法(C ++ 11)包含另一个向量(部分向量)

时间:2014-01-05 12:30:37

标签: c++ c++11 vector emplace

有没有人知道这种emplace_back用法的相关参考(C ++ 11)?

void func(const vector <int>  &A){
    vector <vector <int> > B;
    B.emplace_back(A.cbegin() , A.cend());  // emplace vector A directly
}

2 个答案:

答案 0 :(得分:2)

我不确定您的真实问题是什么,但您显示的代码会在B内插入新的矢量。通过调用constructor (4)来初始化新向量,该{{3}}接受两个参数A.cbegin() , A.cend()

您可以将其视为

的优化版本
B.push_back(std::vector<int>(A.cbegin() , A.cend()));

答案 1 :(得分:1)

您最好在Google或cppreference.com上搜索它们,然后再要求进一步参考。