【问题标题】:vector emplace_back usage (C++11) of containing another vector (partial vector) [closed]包含另一个向量(部分向量)的向量 emplace_back 用法(C++11)[关闭]
【发布时间】:2014-01-22 21:19:44
【问题描述】:

有没有人知道这种 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
}

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 抱歉我的描述太懒了。谢谢,link 实际上是一个不够的提示。不过@daniel-frey 给出了一个很好的方向,在push_back 中提到了constructor(4)。
    【解决方案2】:

    我不确定您真正的问题是什么,但您显示的代码在B 内就地插入了一个新向量。新向量通过调用其constructor (4) 进行初始化,该向量接受两个参数A.cbegin() , A.cend()

    你可以把它想象成一个优化版的

    B.push_back(std::vector<int>(A.cbegin() , A.cend()));
    

    【讨论】:

    • 谢谢丹尼尔,这是一个很好的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2012-04-12
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    相关资源
    最近更新 更多