问题标签 [assignment-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 隐式复制构造函数/赋值运算符的行为
我有一个关于 C++ 标准的问题。
假设您有一个带有用户定义的复制构造函数和赋值运算符的基类。派生类使用编译器生成的隐式类。
派生类的复制/赋值是否调用用户定义的复制构造函数/赋值运算符?或者您是否需要实现调用基类的用户定义版本?
感谢您的帮助。
c++ - 为什么赋值运算符会做一些与其匹配的构造函数不同的事情?
我正在阅读一些提升代码,并遇到了这个:
它似乎将所有构造函数映射到赋值运算符。伟大的。但是为什么 C++ 会选择让它们做不同的事情呢?我能想到的只是 scoped_ptr?
c++ - 构造函数或赋值运算符
你能帮我在 C++ 标准中有定义,描述在这种情况下哪个将被称为构造函数或赋值运算符:
还是只是编译器优化的问题?
c++ - 赋值运算符的参数必须是引用吗?
在 C++ 中重载类的赋值运算符时,它的参数必须是引用吗?
例如,
是真的吗
?
谢谢!
objective-c - 在 Objective C 中,if (object == nil) 和 if (nil == object) 之间有区别吗?
我会倾向于
但我注意到在一些教程中使用
这只是一种风格,还是使用任何一种格式都有合理的理由?
c++ - 赋值运算符重载问题
这个问题让我很困惑。第一段代码可以正常工作而不会崩溃,它将 s1 分配给 s2 非常好。但是第二组代码导致程序崩溃。
任何人都知道为什么会发生这种情况或问题可能是什么?
代码1:(作品)
代码 2:(分配时崩溃)
屏幕类的赋值运算符:
Field 类的赋值运算符:
任何投入将不胜感激 :)
c++ - 为什么复制赋值运算符必须返回引用/常量引用?
在 C++ 中,我不清楚从复制赋值运算符返回引用的概念。为什么复制赋值运算符不能返回新对象的副本?另外,如果我有 class A
,以及以下内容:
operator=
定义如下:
c++ - 防止复制构造和分配返回值引用
如果我有一个函数返回对我无法控制其源的类实例的引用,请说list<int>
:
我想确保它的值只分配给另一个引用,例如:
如果用户改为:
我希望它是一个编译时错误,因为用户只会操作列表的副本而不是原始列表(这绝不是我的应用程序想要/想要的)。
有什么方法可以防止上面的复制构造和赋值(比如通过某种“包装器”类)?
理想情况下,如果要使用某个包装类,比如说wrapper<T>
,我希望它适用于任何类型的对象T
。
是的,我知道对于我可以控制的类,我可以简单地使复制构造函数和赋值运算符private
像:
禁止复制构建和转让;但是,如上所示,我想这样做,例如,std::list
我不能简单地制作复制构造函数和赋值运算符private
。
c++ - 将临时变量作为 LValues 传递
我想使用以下成语,我认为这是非标准的。我有利用返回值优化返回向量的函数:
然后,我想使用
但some_func
不返回 LValue。上面的代码很有意义,我发现这个成语非常有用。但是,它是非标准的。VC8 只发出最高警告级别的警告,但我怀疑其他编译器可能会拒绝它。
我的问题是:是否有某种方法可以实现我想做的相同的事情(即构造一个向量,分配给另一个向量,然后销毁旧的向量),它是合规的(并且不使用赋值运算符,见下文) ?
对于我写的课程,我通常将分配实现为
它利用了复制省略,解决了我的问题。然而,对于标准类型,我真的很想使用,swap
因为我不想要临时的无用副本。
而且由于我必须使用 VC8 并生成标准 C++,我不想听到有关 C++0x 及其右值引用的信息。
编辑:最后,我想出了
当我使用左值时,因为如果 y 是临时的,编译器可以自由优化对复制构造函数的调用,并std::swap
在我有左值时继续使用。我使用的所有类都是“必需的”来实现非愚蠢版本的std::swap
.
vb.net - 我可以在 vb.net 结构中定义赋值运算符吗?
我的结构实际上是一个具有更多功能的简单字节。
我是这样定义的:
我想拥有这两个功能:
有没有办法做到这一点?
如果有一种从结构继承的方法,我只需从字节继承添加我的功能,基本上我只需要一个具有自定义功能的字节结构。
当您想定义新的单例成员值类型(例如,您想定义一个半字节类型等)并且您希望能够通过分配给数字或其他语言来设置它时,我的问题也是有效的类型化的表示。
换句话说,我希望能够定义以下 Int4 (nibble) 结构并按如下方式使用它: