![]() |
1
1
我只分析过GCC的版本。下面是发生的事情:代码处理不同类型的分配器。如果分配器具有
如果条件是真的(
如果它是假的,那么它调用
正常的
这是什么意思? 这意味着,如果您使用缺省分配器(或前面提到的具有特性的任何分配器),那么 移动仍然几乎是免费的 .
另一方面,生成的代码是不必要的巨大,我认为可以改进。它应该有一个单独的代码来处理通常的分配器,或者有一个更好的
|
![]() |
2
0
这不是一个答案,但这是C++ 11的新实现
什么时候?
在 Nothing is Better than Copy or Move by Roger Orr 说话, slides 第47页上写着:
|
![]() |
Demaunt · 复制构造函数和移动语义之间的C++差异 6 年前 |
|
user9267359 · Rational类和移动语义不起作用 6 年前 |
![]() |
Remi.b · 保持原始对象的同时移动 7 年前 |
![]() |
Navie · 是否将prvalue移动到函数模板uref参数中? 7 年前 |
![]() |
Xirema · 如何正确编写运算符的R值重载 7 年前 |
|
tuuttuut · Numpy数组传递值 7 年前 |
![]() |
Xyten · 哪个构造函数将触发移动语义? 7 年前 |