相关疑难解决方法(0)

push_back vs emplace_back

我有点困惑有关之间的差异push_back和emplace_back.

void emplace_back(Type&& _Val);
void push_back(const Type& _Val);
void push_back(Type&& _Val);
Run Code Online (Sandbox Code Playgroud)

因为有一个push_back超载采用右值参考我不太明白目的是emplace_back什么?

c++ stl visual-studio-2010 move-semantics c++11

684
推荐指数
7
解决办法
29万
查看次数

vector :: resize()和vector :: reserve()之间的选择

我正在为我的vector成员变量预先分配一些内存.下面的代码是最小的部分

class A {
  vector<string> t_Names;
public:
  A () : t_Names(1000) {}
};
Run Code Online (Sandbox Code Playgroud)

现在在某个时间点,如果t_Names.size()等于1000.我打算增加规模100.然后如果它到达1100,再增加100等等.

我的问题是,在vector::resize()和之间做出选择vector::reserve().在这种情况下还有更好的选择吗?

编辑:我有一些精确的估计t_Names.我估计它要700到了800.然而,在某些(很少)情况下,它可以增长超过1000.

c++ vector

142
推荐指数
2
解决办法
13万
查看次数

标签 统计

c++ ×2

c++11 ×1

move-semantics ×1

stl ×1

vector ×1

visual-studio-2010 ×1