问题标签 [emplace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++11 - std::map 安放 gcc 4.8.2
我正在尝试使用std :: map的emplace函数,但它似乎没有实现(但我读到它是在4.8中实现的)
以下代码:
导致:
有人可以澄清 emplace 函数是在哪个 gcc 版本中实现的吗?
c++ - 使用初始化列表放置向量
我有一个std::vector<std::vector<double>>
并且想在它的末尾添加一些元素所以这是我的试验:
但这不会编译,而以下会做:
为什么emplace_back不能在这个位置构造元素?或者我做错了什么?
谢谢你的帮助。
c++ - How to emplace object without constructor arguments to STL constainer?
Suppose I have an class that has constructor taking no arguments, and an STL container of its objects: list<Object> lst;
Is there a way to insert a new object in-place?
I know something like lst.push_back(Object());
is going to work, equally fast as it would use move constructor, however it seems a little bit odd that there is no function to simply create new object at the end of the list without any arguments, while there already is emplace that could fit that place.
Could you please, provide some explanation if it isn't actually possible?
c++ - 向量中引用 unordered_map 的 C++11 段错误
当我运行以下代码时,我在“find()”调用中遇到了段错误。
(使用 -std=c++11 编译)
但是,如果删除了第二个 emplace_back() 调用,则没有段错误。
为什么是这样?我是否使用了错误的参考变量?向堆栈中添加另一个元素是否会使 topmap 无效?
c++ - 放置指向 shared_ptr 多映射的指针不起作用
矢量正常工作
多图没有
我收到以下错误:
有人有线索吗?
c++ - C++ 中 unordered_map::emplace 和 unordered_map::insert 有什么区别?
std::unordered_map::emplace
C++和C++有什么区别std::unordered_map::insert
?
c++ - 在这种情况下,std::stack::push() 和 std::stack::emplace() 有区别吗?
看看这段代码:
(1)
我看不出和之间的区别(2)
。我知道emplace()
当您为要添加的对象的构造函数提供参数时很有用,例如:
但我不知道我描述的情况有什么区别,因为两者都push()
应该emplace()
引用本地dummy
对象并使用复制ctor或类似的东西创建一个新对象。是否push()
在此过程中创建任何临时对象?
c++11 - 对于已构造的对象,使用 std::move 与 emplace_back() 的 C++11 push_back() 的效率
在 C++11emplace_back()
中(就效率而言)通常是首选,push_back()
因为它允许就地构造,但是在使用已经构造的对象时仍然是这种情况吗?push_back(std::move())
例如,emplace_back()
在以下情况下仍然首选?
此外,在上面的示例中是否有任何好处,而不是这样做:
或者这里的举动完全是多余的,还是没有效果?
c++ - 使用默认构造函数放置在向量中
我想使用vector::emplace
默认构造一个不可复制和不可分配的对象,然后使用迭代器对新创建的对象使用对象上的特定方法。请注意,该类没有参数化构造函数,只有默认构造函数。一个简单的例子是:
vector::emplace()
构造一个新对象,但需要非默认构造函数的参数。vector::emplace_back()
将在向量的末尾构造。
有没有办法使用默认构造进行替换。有没有办法使用分段构造或默认转发,也许std::piecewise_construct
像地图一样使用?例如,在地图的情况下,我们可以使用:
向量有类似的东西吗?
c++ - std::map 没有复制值
C++11std::map<K,V>
类型有一个emplace
函数,就像许多其他容器一样。
此代码按宣传的方式工作,std::pair<K,V>
直接替换,但它会导致复制key
并val
发生。
是否也可以将值类型直接放入地图中?我们能比将调用中的参数移动到更好emplace
吗?
这是一个更彻底的例子: