Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
数组和右值(作为参数)
我想知道是否有任何方法可以区分以下代码中显示的函数调用 以数组作为参数 include
c
Arrays
C11
rvaluereference
rvalue
如何以编程方式确定 C++ 中的表达式是右值还是左值?
在 C 中确定表达式是右值还是左值的最佳方法是什么 也许 这在实践中没有用 但由于我正在学习右值和左值 我认为有一个函数会很好is lvalue如果传入输入的表达式是左值 则返回 true 否则返回 false Example std st
c
C11
lvalue
rvalue
可以采取哪些措施来防止对返回值进行误导性分配?
使用 C 多年后 我意识到使用自定义类时语法中的一个怪癖 尽管是正确的语言行为它允许创建非常具有误导性的界面 这里的例子 class complex arg double r double phi public std complex
c
assignmentoperator
userdefinedtypes
rvalue
通过 std::bind 传递右值
我想传递一个右值std bind到 C 0x 中采用右值引用的函数 我不知道该怎么做 例如 include
c
C11
std
rvaluereference
rvalue
非类右值始终具有 cv 未限定的类型
3 10 第 9 节说 非类右值总是具有 cv 不合格的类型 这让我想知道 int foo return 5 const int bar return 5 void pass int int i std cout lt lt rvalue
c
C11
rvaluereference
rvalue
为什么某些 C++ 编译器允许您获取文字的地址?
我不会透露名字的 C 编译器可以让你获取文字的地址 int p 42 显然 42 是一个右值 大多数编译器拒绝这样做 为什么编译器会允许这样做 除了搬起石头砸自己的脚之外 你还能做什么呢 如果您需要一个指向值为 42 的整数的指针怎么办 C
c
rvalue
何时使用右值引用
所以基本上我的问题是 什么时候应该使用右值引用 在这个例子中 我正在研究一个记录器类 它只是将内容记录到控制台 我有不同的功能来记录不同日志级别的消息 它们接受 std string 作为参数 每个函数是否应该有两个版本 第一个用于 正常
c
parameters
rvaluereference
rvalue
为什么不调用成员变量的移动构造函数?
考虑以下课程 如果我自己实现移动构造函数如下 为什么是 bar 成员b不是移动而是复制 但如果我使用默认的移动构造函数 那么b被感动了 为什么b rhs b 不打电话bar bar 我使用 g 9 2 1 和 std c 11 class
c
C11
rvalue
lvalue
moveconstructor
在函数中使用时,右值引用是否被视为左值?
我发布了这个答案 https stackoverflow com a 28459180 2642059其中包含以下代码 void foo string bar string temp bar cout lt lt temp lt lt lt
c
C11
rvaluereference
lvalue
rvalue
完美转发与 const 引用
我有一个简单的问题我不明白 int solution int a int b int main int a b std cin gt gt a gt gt b std cout lt lt solution std forward
c
reference
rvalue
perfectforwarding
为什么我可以阻止基元的隐式转换,但不能阻止用户定义类型的隐式转换?
高完整性 C 标准建议可以删除函数的右值参数 从而防止隐式转换 http www codingstandard com rule 8 3 4 define delete functions with parameters of type r
c
rvalue
overloadresolution
为什么按值传递和按右值重载传递 C++ 函数调用不明确?
如果我有 void foo Bar c void foo Bar c foo Bar 为什么对 foo 的调用不明确 foo 参数中的 Bar 显然不是一个 rValue 吗 绑定到引用是 完全匹配 绑定到非引用也是如此 因此两种重载都同样
c
C11
rvalue
为什么右值不能用于初始化左值引用?
我可以const A a A and A a A 但为什么我不能这样做A a A 理由是 改变临时变量几乎没有意义 任何这样做的尝试都可能是编程错误而不是故意的决定 原型示例如下 假设允许绑定到非常量引用 void foo int x in
c
rvaluereference
rvalue
文字字符串和函数返回值是左值还是右值?
只是想知道文字字符串是左值还是右值 其他文字 如 int float char 等 是左值还是右值 函数的返回值是左值还是右值 你如何区分 字符串文字是左值 但您无法更改它们 右值 但如果它是指针且非 NULL 则它指向的对象是左值 C 标
c
lvalue
rvalue
`const &&` 是否绑定到所有纯右值(和 xvalues)?
C 标准定义了以下删除的函数 template
c
C11
languagelawyer
rvaluereference
rvalue
“左值”和“右值”的命名背后的原因是什么?
C C 中 左值 和 右值 的命名背后的原因是什么 标准中提到了这一点 左值 历史上如此称呼 因为左值可能出现在赋值表达式的左侧 右值 历史上如此称呼 因为右值可以出现在赋值表达式的右侧 也就是说 左值是您可以分配给的东西 右值是您可以从中
c
terminology
rvalue
lvalue
获取临时对象的地址
5 3 1 一元运算符 第 3 节 一元 运算符的结果是指向其操作数的指针 操作数应为左值或合格的 ID 在这种情况下 应该 到底意味着什么 这是否意味着获取临时地址是错误的 我只是想知道 因为 g 只给我一个警告 而 comeau 拒绝编
c
rvalue
c 中右值存储在哪里?
在C中 我有这段代码 int a a 10 5 3 我想问 10 5 3 存放在哪里 据我所知 a位于堆栈上 怎么样 10 5 3 这个右值是如何计算的 通常 右值 存储 在程序本身内 换句话说 编译器本身 在程序运行之前 计算 10 5
c
rvalue
c++的lvalue和rvalue以及引用
目录 xff08 0 xff09 lvalue和rvalue xff08 1 xff09 左值引用 xff08 2 xff09 右值引用 xff08 3 xff09 move xff08 xff09 xff08 0 xff09 lvalue
lvalue
rvalue
以及引用
«
1
2