Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
移动构造函数和 std::move 混淆
我正在阅读有关std move http en cppreference com w cpp utility move 移动构造函数和移动赋值运算符 说实话 我现在得到的只是困惑 现在我有一堂课 class A public int key
c
C11
move
rvaluereference
与右值交换
假设我想要swap它适用于右值 并且不想为右值 左值引用的所有组合编写 4 个版本 右值 右值版本有点毫无意义 但也无害 我想出了这个 template
c
SWAP
movesemantics
rvaluereference
C++ 使用 std::move 将映射复制到向量
我对 C 比较陌生 这可能是一个愚蠢的问题 但我试图理解rValue and lValue目前的参考文献 我想到了这一点 假设我们有一个地图 来自数据库或其他什么 我们想要将其所有值复制到向量中 void insertItems std v
c
C11
rvaluereference
C++11 的 &&(R 值引用)运算符是否废弃了“代理对象”设计模式?
Scott Meyers 的第 30 项 更有效的 C http www amazon co uk More Effective Programs Professional Computing dp 020163371X绘制出 代理对象 编
DesignPatterns
C11
rvaluereference
proxyclasses
我什么时候应该声明一个不带 noexcept 的移动构造函数?
该标准不会在移动构造函数上强制执行 noexcept 在什么情况下移动构造函数可以抛出异常 当你真的别无选择的时候 大多数时候你的移动构造函数应该是noexcept 它们是默认的 看这个 http www codingstandard co
c
C11
rvaluereference
返回常量引用和右值引用之间的区别
如果我没记错的话 我认为 const 引用和右值引用都可以绑定到右值 返回前者的函数和返回后者的函数之间有什么实际区别吗 编辑 我无法修改前者 但为什么我会对修改右值感兴趣 是否有意义 A const左值引用可以绑定到任何东西 右值引用只能
c
C11
rvaluereference
调用左值引用构造函数而不是右值引用构造函数
有这样的代码 include
c
C11
movesemantics
rvaluereference
C++0x 右值引用和临时值
我在 comp std c 上问了这个问题的变体 但没有得到答案 为什么调用f arg 在此代码中调用 const ref 重载f void f const std string less efficient void f std stri
c
C11
temporary
rvaluereference
通过多次传递输入参数实现完美转发
考虑以下函数accept采用 通用引用 类型T并将其转发给parse
c
C11
movesemantics
rvaluereference
perfectforwarding
什么时候返回右值引用会导致未定义的行为?
在 Stack Overflow 的回答中here https stackoverflow com a 9964002 1128289 Kerrek 发布了以下代码 Foo g Foo y return y error cannot bin
c
C11
undefinedbehavior
rvaluereference
是否可以将对象移出函数? (C++11)
该程序尝试将一个字符串移出函数并将其用于构造另一个字符串 include
c
function
C11
movesemantics
rvaluereference
关于如何识别右值或左值引用以及 if-it-has-a-name 规则
我正在读托马斯 贝克尔的书article http thbecker net articles rvalue references section 05 html关于右值引用及其使用 在那里他定义了他所说的如果它有一个名字 rule 声明为
c
C11
rvaluereference
lvalue
rvalue
为什么将字符串文字传递给调用 std::format 的模板无法编译?
以下代码片段无法在最新版本的 MSVC Visual Studio 2022 17 2 2 上编译 相同的代码片段似乎在以前的编译器版本上运行得很好 include
c
templates
C20
rvaluereference
我可以使用临时的右值引用吗?这是未定义的行为吗?
更新问题为什么这两个右值引用示例有不同的行为 https stackoverflow com questions 35315472 why this two rvalue references examples have different
c
C11
languagelawyer
undefinedbehavior
rvaluereference
是否可以获得“this”指针的地址?
我读到了this是一个右值 我们无法通过应用来获取它的地址 this 在我的代码中 我尝试使用引用绑定this 我想知道哪种方式可以给出地址this 还是两者都错了 到底是什么this 左值 右值 关键字还是其他什么 void MyStri
c
reference
This
rvaluereference
rvalue
转发引用是否仍然是右值引用?
我仍然对支持移动和转发而发明的规则感到困惑 我仍然不确定的一件事是 是转发参考 just 右值引用 和 应用参考折叠规则 如果它是右值引用 那么该函数为什么会这样 template
c
C11
rvaluereference
lvalue
forwardingreference
了解右值引用
我认为我对右值引用不太理解 为什么以下无法编译 VS2012 并出现错误 foo cannot convert parameter 1 from int to int void foo int void bar int x foo x 我会
c
C11
rvaluereference
通过右值引用返回是否更有效?
例如 Beta ab Beta toAB const return move Beta ab 1 1 Beta ab Beta toAB const return move Beta ab 1 1 这会返回一个悬空引用 就像左值引用的情况一
c
C11
rvaluereference
通过引用参考文献直观地理解函数[重复]
这个问题在这里已经有答案了 可能的重复 由于某种原因 这超出了我的直觉 我在互联网上找不到任何解释 C 函数获取引用的引用意味着什么 例如 void myFunction int val what does this mean 我理解通过引
c
passbyreference
rvaluereference
C11
引用限定符 `const &&` 有什么用?
继上一个问题之后 我一直在研究 ref qualifiers 给出下面的代码示例 include
c
C11
languagelawyer
movesemantics
rvaluereference
1
2
3
4
5
»