问题标签 [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# - 是否有 C++11 emplace/emplace_back 函数的 C# 类似物?
从 C++11 开始,可以编写类似的东西
是否有 C# 类似的 C++ 函数emplace
,例如emplace_back
容器类 ( System.Collections.Generic.List
)?
更新:
在 C# 中,类似的代码可能会写成list.EmplaceBack(1, "t");
而不是list.Add(new S(1, "t"));
. 最好不要记住类名并new ClassName
每次都在这种情况下编写。
c++ - 我可以让 istream 安顿而不是分配吗?
istreamoperator>>
需要对现有对象的引用。这意味着他们所做的是分配而不是就地施工,对吗?
那么,我怎样才能跳过初始构建呢?也许编译器可以优化它,但我可能仍然需要提供我不想提供的参数。这可以用 istreams 完成吗?
...我希望能够拥有,比如说,
适用于适用于 T 的所有类型stream >> my_t_variable
。虽然,不可否认,这个函数声明看起来有点难看。
c++ - C++ 在已经创建对象时设置 emplace 与插入
当有 TestClass 时,我理解 emplace 和 insert 之间的区别(在插入副本时将结构放置在适当的位置)
但是,如果已经有一个 TestClass 对象,那么它们在机制和性能方面有何不同?
c++ - 通过移动有效地将元组插入容器
我是move
语义初学者。这段代码是:
比以下更有效:
特别是如果args
包含一些大物体?
同样的问题,但有std::vector
(所以不需要make_pair
or make_tuple
)
c++ - 直接放置在对的 std::map 中
为什么这段代码不能编译?
假设我们可以编辑 的代码std::map::emplace
,是否可以更改它以使之前的代码有效?
c++ - 制作地图双对
我有课:
添加功能必须将元素分配给graf;
但!我不能使用 _T 和 _E 类型的默认构造函数。因此,我无法执行以下操作:
我只能使用复制构造函数。我怎样才能做到?
cuda - 使用 CUDA 8 + gcc 5,带有字符串键的 unordered_map emplace 无法编译
考虑以下代码:
这可以很好地构建:
- GCC 4.9.3,没有 CUDA
- GCC 5.3.1,没有 CUDA
- 通过 CUDA 7.5 的 GCC 4.9.3(文件扩展名为 .cu)
- 通过 CUDA 8 RC 的 GCC 4.9.3(文件扩展名为 .cu)
但无法通过 CUDA 8 RC 使用 GCC 5.3.1 进行编译。
我得到的错误是:
这是一个 CUDA 错误吗?如果不是,为什么会发生这种情况?
c++ - g++ 4.9.3 抱怨 ctor 对 .emplace_back() 是私有的,但喜欢 .push_back()
我一定错过了关于 emplace() 和朋友的一些细节。这是一个完整的最小示例,它重现了 g++ 4.9.3 的问题:
c++ - 带有 make_unique 和 emplace_back 的简单结构
给定一个结构:
为什么标准允许我们这样做:
但不允许这样做:
?
c++11 - 大矩阵 std::vector 的高效复制/转换> 和犰狳 arma::mat
之间是否有有效的复制机制
其中 arma::mat arma_mat 指的是犰狳矩阵/数学库。
我的项目依赖于两个单独的矩阵/数据采集库,其中矩阵分别定义如上。但是,在处理管道的某个阶段,我需要将一个复制到另一个以避免破坏遗留代码。我想知道是否有某种类型的转换运算符从一个到另一个(所以我们不必复制),或者如果没有,一种有效的复制机制(类似于 vector.emplace_back 概念)。现在我正在使用双循环,但我相信它可以更有效。