相关疑难解决方法(0)

为什么没有emplace/_front/_back返回引用?

当使用std::vectors,std::lists(或其他STL容器)时,我碰巧经常写这个,因为代码短缺(而不是vec[index]每次都显式)和内存分配效率(避免复制/移动),我想我不是只有一个这样做:

std::vector<A> vec;
vec.emplace_back();
A &element = vec[vec.size()-1];
element.prop = "value";
Run Code Online (Sandbox Code Playgroud)

为什么不STL容器emplace,emplace_backemplace_front方法返回一个T&这将允许一个人简单地写这个而不是使用阴影vec.size()-1:

std::vector<A> vec;
A &element = vec.emplace_back();
element.prop = "value";
Run Code Online (Sandbox Code Playgroud)

c++ stl return-value c++11

21
推荐指数
4
解决办法
3336
查看次数

标签 统计

c++ ×1

c++11 ×1

return-value ×1

stl ×1