相关疑难解决方法(0)

push_back vs emplace_back

我有点困惑有关之间的差异push_backemplace_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万
查看次数

C++:Stack的push()vs emplace()

试图理解使用push()emplace()for 之间的区别std::stack.

我在想,如果我创建一个std::stack<int>,那么我会使用push()因为整数是一种原始类型而且没有任何东西emplace()需要构造.

但是,如果我正在创建,std::stack<string>那么我会选择emplace()因为std::string是一个对象.

这是正确的用法吗?

c++ stack

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

标签 统计

c++ ×2

c++11 ×1

move-semantics ×1

stack ×1

stl ×1

visual-studio-2010 ×1