问题标签 [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.

0 投票
5 回答
2464 浏览

c++ - 具有私有复制构造函数的类的 C++ stl 向量?

我们的代码中有一个类,比如 class C。我想创建一个类对象的向量C。但是,复制构造函数和赋值运算符都被特意声明为private. 我不想(也许不允许)改变它。

有没有其他干净的方式来使用/定义vector<C>

0 投票
5 回答
6479 浏览

c++ - 存在引用时的赋值运算符和复制构造函数

我只是在使用以下代码试验参考:

我期待两者都会B b1 = b;产生错误。相反,当我使用 VS2008 编译时,我只会收到警告

警告 C4512:“B”:无法生成赋值运算符

我明白为什么我会收到此警告。但是编译器不应该也为语句生成错误B b1 = b;吗?就像它生成了复制构造函数但没有生成赋值运算符。这两者不是天生就相互联系的吗?当无法生成另一个时,只为其中一个生成默认实现是否有意义?

0 投票
2 回答
13624 浏览

c# - 为什么 C# 中没有 ||= 或 &&= 运算符?

对于所有逻辑运算符、移位运算符、加法运算符和所有乘法运算符,我们都有等效的赋值运算符。

为什么逻辑运算符被遗漏了?是否有很好的技术原因说明它很难?

0 投票
5 回答
1241 浏览

php - php: $a=$b OR $a=$c vs. 三元

我需要将两个变量中的一个分配给第三个变量,如果第一个变量是 (bool)false 或未定义,则使用第二个变量的值。

我通常使用三元符号来执行此操作,如下所示:

但有时如果 $foo 变量名很长,这不是那么漂亮,因为它需要以这种表示法重复。

我现在的问题是,使用这种表示法是否一样好:

这个符号可以与三元版本互换吗?

0 投票
1 回答
58 浏览

assignment-operator - 当赋值包含被赋值为变量值的条件时,它被称为什么?

我知道这是一个简单的术语,但我无法通过谷歌搜索得到它......当分配的变量的值通过时它叫什么?

php中的一个例子:

javascript中的一个例子:

0 投票
1 回答
610 浏览

c++ - C++ 向量、排序和自定义类运算符

我很困惑,因为我无法弄清楚我的错误/问题在哪里。我有一个类指令,它使用两个自定义运算符,一个赋值和一个比较运算符。以前我只使用比较运算符,以便使用 std::sort 根据指令的成员之一(即 std::string 名称)对指令进行排序。但是,自从我开始重构整个项目后,我将一些成员更改为常量。这导致我不得不为这些常量使用初始化列表。这反过来又导致我不得不创建一个赋值运算符,因为这些指令在向量中推回时会被复制。这就是一切出错的地方。我包括我的类声明和构造函数和运算符。

指令.hpp

指令.cpp:

我创建赋值运算符(老实说我以前从未做过)的唯一原因是因为当我尝试 push_back 指令时,编译器抱怨无法实例化“从这里”指令,我认为它必须与常量成员一起做。没有成员是不变的,一切都很好,即使是排序。现在奇怪的部分。如果我删除 std::sort,上面的代码可以工作,但不是一直有效。有时它会在一段时间后崩溃,有时它不会崩溃。但是在我包括排序的那一刻,它会立即崩溃。有人可以帮忙吗?

0 投票
7 回答
5147 浏览

c++ - 需要在 Singleton 类中私有化赋值运算符

有人可以证明需要在 Singleton 类实现中私有化赋值运算符吗?

Singleton& operator=(Singleton const&);私有化解决了什么问题?

0 投票
1 回答
1047 浏览

c++ - 如何惯用地为不可变类定义赋值运算符?

operator=在 C++ 中,在应该是不可变的类上定义的惯用方式是什么。例如它的所有成员变量都是const.

wherebytes是指向malloc运行时编辑的内存块的指针。

我是定义一个空的赋值运算符还是让它使用自动生成的显然会失败的运算符?

我正在尝试在一些选择类上实现和强制执行单一赋值语义。

0 投票
3 回答
378 浏览

c++ - 使用指针基类的 = 运算符的多态性

所以这是交易,我认为我需要就我正在使用的模式采取另一条路线,但我认为我会先获得一些专家意见。

我有一个类(UsingClass),它维护一个基类指针的动态列表。向列表中添加新对象时,我必须弄清楚它是什么类型的对象,因为我不能真正让它以多态方式工作。下面的行标记为“这不会像我想要的那样工作!!” 理想情况下,将多态地使用感兴趣的派生类中的 = 运算符,但不幸的是,它只使用 Base 类的默认 = 运算符......如果我将 Base 设为纯虚拟(基本上将其用于没有它自己的数据成员),但我真的不想让派生类拥有两者之间共有的成员(也许我只需要减少诱饵并做到这一点)。

我想我可能只是完全使用了错误的模式,但我不知道应该考虑哪些替代方案。

我知道代码不一定可以编译,但请与我合作。提前致谢!

0 投票
3 回答
3883 浏览

c++ - 带有复制和赋值的 C++ Qt 反射

正如文档和许多其他人所解释的那样, a具有QObjectQObject标识,因此隐藏了它的复制构造函数和赋值运算符。

但是,我并不是QObject因为它的动态属性功能或信号/插槽功能而派生出来的。我只想要反思,或者访问的能力Foo::staticMetaObject

然后我不能复制Foo

在这种情况下,允许复制和分配的最佳方法是什么?我绝对需要编写一个复制构造函数和赋值运算符吗?他们会是什么样子?反射还会起作用吗?