Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
通过多次传递输入参数实现完美转发
考虑以下函数accept采用 通用引用 类型T并将其转发给parse
c
C11
movesemantics
rvaluereference
perfectforwarding
从常量引用中移动构造
我遇到以下情况 需要从 t1 中移动构造 t2 不幸的是 这是不可能的 我想是违反常量的 从 foo 的调用者那里透明地处理这个问题的正确方法是什么 即不需要传值和显式 std move struct T T default T defau
c
C11
move
movesemantics
应该使用 unique_ptr 来更轻松地实现“移动”语义吗?
Edit made Foo and Bar稍微不那么琐碎 直接替换为shared ptr lt gt 更加困难 Should unique ptr lt gt 用作实现移动语义的更简单方法 对于像这样的课程 class Foo int m
c
C11
movesemantics
uniqueptr
移动构造函数和初始化列表
我想为需要成为值类型的特定类型实现移动构造函数 无复制构造函数 boost unordered map 我们称这种类型为Composite Composite有以下签名 struct Base Base stuff no default c
c
C11
initialization
unorderedmap
movesemantics
复制赋值运算符应该通过常量引用传递还是通过值传递?
在 C 11 之前 复制赋值运算符始终应通过 const 引用传递 如下所示 template
c
C11
movesemantics
assignmentoperator
在派生对象上移动构造函数
当派生对象具有移动构造函数 并且基础对象也具有移动语义时 从派生对象移动构造函数调用基础对象移动构造函数的正确方法是什么 我首先尝试了最明显的事情 Derived Derived rval Base rval 然而 这似乎最终调用了 Bas
c
C11
movesemantics
C++11 虚拟析构函数和移动特殊函数的自动生成
C 11 中自动生成特殊移动函数 构造函数和赋值运算符 的规则指定不能声明析构函数 逻辑大概是 如果你需要在破坏方面做一些特殊的事情 那么这一举动可能不安全 然而 为了在多态性中正确调用析构函数 有必要将基类的析构函数声明为虚拟 否则通过基
c
C11
inheritance
movesemantics
是否可以将对象移出函数? (C++11)
该程序尝试将一个字符串移出函数并将其用于构造另一个字符串 include
c
function
C11
movesemantics
rvaluereference
移动还是不移动右值引用限定方法?
在以下 C 11 代码中 应首选哪种 return 语句构造 include
c
returnvalue
movesemantics
C17
refqualifier
如何在函数返回期间使用 std::string 的移动语义? [复制]
这个问题在这里已经有答案了 可能的重复 C 11 右值和移动语义混淆 https stackoverflow com questions 4986673 c11 rvalues and move semantics confusion 我认
c
C11
movesemantics
为什么在 std::vector 的初始化列表中调用复制构造函数?
我有以下非常简单的课程 class Foo public Foo Foo const Foo delete Foo Foo void operator const Foo delete void operator Foo void dump
c
movesemantics
initializerlist
将自定义对象添加到向量时如何启用移动语义?
下面的代码将包含大向量的对象传递到向量中 我希望这是高性能的 我需要投吗test在调用中右值push back 我需要告诉编译器如何移动结构体的实例吗Test 或者这一切都是自动进行的 int main struct Test std ve
c
C11
movesemantics
C++11:按值调用、移动语义和继承
假设我有一个类 我计划直接将其公开为可实例化类 给程序员 class Base public Base std string text m text std move text private std string m text 到目前为止
c
inheritance
C11
move
movesemantics
移动赋值运算符和移动构造函数之间的区别?
一段时间以来 这一直让我感到困惑 而且到目前为止我还没有找到满意的答案 问题很简单 什么时候有一个move assignment operator接到电话 什么时候move constructor operator接到电话吗 cpprefe
c
C11
constructor
movesemantics
与移动构造函数配对时发生意外的析构函数调用
以下代码是在 Visual Studio 2012 Express for Windows Desktop 中编译并运行的 作为学习练习 include
c
visualc
C11
visualstudio2012
movesemantics
引用限定符 `const &&` 有什么用?
继上一个问题之后 我一直在研究 ref qualifiers 给出下面的代码示例 include
c
C11
languagelawyer
movesemantics
rvaluereference
C++0x 中的特殊成员函数
维基百科文章关于特殊成员函数 http en wikipedia org wiki Special member functions不包含任何对移动构造函数和移动赋值运算符的引用 我想更新该条目 但我不确定 0x 标准的内容 这两个函数的规
c
constructor
C11
assignmentoperator
movesemantics
通过 destruct+move 构造进行的移动分配安全吗?
这是使用移动构造函数为大多数类定义移动赋值的一种非常简单的方法 class Foo public Foo Foo foo you still have to write this one Foo operator Foo foo if th
c
C11
movesemantics
placementnew
moveassignmentoperator
我可以将移动的变量标记为不再可用,并在使用它时收到编译器警告吗?
有时在我使用的函数中std move传递我不再使用的变量 如下所示 void f std vector
c
movesemantics
成员函数 .begin() 和 std::begin()
调用成员函数 begin of std vector and std begin 右值会导致不同的输出 如以下测试所示 vector
c
C11
Iterator
move
movesemantics
«
1
2
3
4
5
6
7
»