assignment-operator相关内容

关于Scala的分配和设置方法

编辑:提示此问题的错误现已修复. 在Scala参考中,我可以阅读(第86页): 对 一个简单的变量x = e取决于 x的定义.如果x表示一个 可变变量,然后赋值 将x的当前值更改为 评价的结果 表达式e. e的类型是 期望符合x的类型. 如果x是无参数函数 在某些模板中定义,并且相同 模板包含一个setter函数 x_ =作为成员,然后分配x = e被解释为调用 该设置函数的x _ = ..

“几乎默认" C ++中的复制构造函数(&赋值运算符)

我发现自己做的一件事是制作“几乎默认的"复制构造函数和赋值运算符.也就是说,我发现自己处于编译器提供的复制和赋值运算符适用于大多数数据成员的情况,但是有一个特殊的数据成员需要以不同的方式处理.这意味着我必须显式创建一个复制构造函数/赋值运算符,包括显式列出所有具有简单复制语义的数据成员.对于有大量数据成员的类,或者稍后添加成员变量但未将其添加到复制构造函数/赋值运算符的类,这可能会很烦人. ..
发布时间:2020-09-13 04:25:20 C/C++开发

在C中评估赋值运算符的左操作数有什么意义?

根据ISO C11-6.5.16.3,它说 赋值运算符将值存储在所指定的对象中 左操作数.赋值表达式的值为左侧 赋值后的操作数,但不是左值.的类型 赋值表达式是左操作数之后的类型 左值转换.更新存储值的副作用 左操作数在对左和右的值计算之后进行排序 正确的操作数.操作数的求值没有顺序. 所以我想这意味着,例如, int x = 10; x = 5 + 10; 左操作数x的值为 ..
发布时间:2020-09-13 04:25:17 其他开发

C/C ++中的链接分配是未定义的行为吗?

忽略变量的类型,像a=b=c这样的表达式是否在C和C ++中都定义了行为? 如果是这样,请问有人可以给我提供官方证据,例如标准中的报价吗? P.S.我搜索了链接的分配,但是我得到的都是关联性,但是在C99标准中我没有找到有关此的任何文本.也许我做错了吗?希望任何人都能帮助我. 解决方案 根据C ++标准 5.17赋值和复合赋值运算符[expr.ass] 1赋值运算符(=) ..
发布时间:2020-09-13 04:25:10 C/C++开发

赋值运算符的返回类型

在定义赋值运算符时,它总是看起来像这样: class X {...}; X& X::operator=(...whatever...); 也就是说,它的返回类型为“对X的引用".在这里,参数(...whatever...)可以是X&, const X& ,而在使用复制和交换惯用法,或任何其他类型. 每个人都建议无论参数如何,都建议返回对X 的非常量引用,这似乎很奇怪.这明确允许使 ..
发布时间:2020-09-13 04:23:51 C/C++开发

对现有变量进行Scala多重分配

我可以做类似的事情 def f(): Tuple2[String, Long] = ... val (a, b) = f() 如果变量已经存在怎么办?我正在通过过滤器运行相同的数据集,但我不想链接它们(长名称等).这是我尝试过的,但是抱怨期望很高.而不是最后一行上的=: var a = ...initialization for this data var b = ...some ..
发布时间:2020-09-13 04:23:44 其他开发

四(半)规则是什么?

为了正确处理对象复制,经验法则是三人制规则.在C ++ 11中,移动语义是一回事,因此它是五人制.但是,在围绕此处和互联网的讨论中,我也看到了对那么四个(半个)规则到底是什么?需要实现哪些功能,每个功能的主体应该是什么样?一半是哪个功能?与五法则相比,这种方法是否有任何弊端或警告? 这是一个类似于我当前代码的参考实现.如果这是不正确的,那么正确的实现将是什么样子? //I unders ..

R赋值运算符:=的作用是什么?

通过深入研究R源代码(文件R-3.2.2/src/main/gram.y行2836至2852),我发现R分析器/令牌器认为:=是LEFT_ASSIGNMENT令牌. 但是在R.3.2.2中尝试将其用作赋值运算符时, 我有一个错误(无法找到:=的函数...),但是正如您所看到的,R会将其视为类似 myVar := 42 Erreur : impossible de tr ..
发布时间:2020-09-13 04:23:34 其他开发

C/C ++赋值运算符实现的低级详细信息.它返回什么?

我是C ++世界(以及C语言)的新手.而且不知道其所有细节.但是有一件事确实困扰着我. 它的结构像: while (a=b) {...}.据我所知,这种魔术有效的原因是C和C ++中的赋值运算符会返回某些内容. 那么问题来了:它返回了什么?这是有记载的东西吗?在C和C ++中,它的工作原理是否相同?有关赋值运算符及其在C和C ++中的实现(如果有所不同)的低级详细信息将不胜感激! 我希望这个问题 ..
发布时间:2020-09-13 04:23:27 C/C++开发