有没有人知道这种 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
}
我不确定您真正的问题是什么,但是您显示的代码在B
. 新向量通过调用其构造函数 (4)进行初始化,该构造函数接受两个参数A.cbegin() , A.cend()
。
你可以把它想象成一个优化的版本
B.push_back(std::vector<int>(A.cbegin() , A.cend()));
在寻求任何进一步的参考之前,您最好在 Google 或cppreference.com上搜索它们。
emplace_back()
:http ://en.cppreference.com/w/cpp/container/vector/emplace_backcbegin()/cend()
(自 C++11 起):它们与begin()/end()
http://en.cppreference.com/w/cpp/container/vector/begin相同