有没有人知道这种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
}
答案 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上搜索它们,然后再要求进一步参考。
emplace_back()
:http://en.cppreference.com/w/cpp/container/vector/emplace_back cbegin()/cend()
(自C ++ 11开始):它们与begin()/end()
http://en.cppreference.com/w/cpp/container/vector/begin