assignment-operator 相关问题

当一个对象分配给另一个对象时使用的运算符

构造函数与“=”运算符做同样的事情吗?

当我们没有定义任何 = 运算符时,编译器如何知道 使用构造函数? 构造函数不是只在定义变量时调用吗? #包括 类人 { 民众: ...

回答 1 投票 0

c 中的数组和整数

在这个例子中,我想打印出数字4。这是我的问题的简化版本,但我的问题是相同的。为 b 分配一个值(在本例中为 4)后,我想打印出第 4 个元素...

回答 1 投票 0

构造函数或赋值运算符

你能帮我看看 C++ 标准中是否有定义来描述在这种情况下哪个将被称为构造函数或赋值运算符: #包括 使用命名空间 std; 类...

回答 3 投票 0

如何在Delphi中重载记录分配运算符

我想制作使用动态数组的记录类型。 使用这种类型的变量 A 和 B,我希望能够执行操作 A:= B (和其他)并能够修改内容 o...

回答 2 投票 0

在 C++ 中为用户定义类型与内置类型分配临时变量的差异

我最近一直在深入研究 C++ 的复杂性,有一个特定的行为让我困惑:围绕临时对象的规则和行为,特别是关于获取它们的地址......

回答 1 投票 0

C++ 中用户定义类型与内置类型的临时变量寻址和分配的差异

我最近一直在深入研究 C++ 的复杂性,有一个特定的行为让我困惑:围绕临时对象的规则和行为,特别是关于获取它们的地址......

回答 1 投票 0

如何在 C++ 中使用 = 操作数分别分配复数变量的实部和虚部?

我正在尝试使用complex<>类型来实现Point类,以解决几何问题。 我希望能够单独分配变量的实部和虚部的值,

回答 1 投票 0

内置赋值运算符的返回类型是什么?

我刚刚开始学习C++。我对赋值和取消引用运算符的返回类型有点困惑。我正在关注《C++ Primer》这本书。作者在不同场合表示,回归...

回答 3 投票 0

保留后直接分配给 std::vector 不会引发错误,但不会增加向量大小

让我们创建一个辅助类来帮助可视化问题: C级 { 整数ID=0; 民众: C(const int newID) { ID=新ID; } int getID() { 返回ID; } }; 假设您创建一个空的...

回答 2 投票 0

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

我们为所有逻辑运算符、移位运算符、加法运算符和所有乘法运算符提供等效的赋值运算符。 为什么逻辑运算符被遗漏了? 有没有好的

回答 3 投票 0

赋值运算符 += 与先前声明的变量和声明的变量一起使用?

我是 C 新手,有点困惑,我有一些代码,在声明时将 += 运算符与变量一起使用,但它给了我这个运算符的错误,但反向使用它时工作正常,即...

回答 2 投票 0

为什么将容器的元素分配给容器(而不是)定义良好的 C++?

在C++中,存在臭名昭著的自赋值问题:在实现operator=(const T &other)时,必须小心this == &other的情况,以免在复制之前破坏this的数据...

回答 1 投票 0

复制语义和向量

我正在处理分配内存供内部使用的对象。目前,它们不可复制。 例如。 我的班级 { 民众: MyClass() { 存储 = new int; } ~MyClass() { 删除 Store; }

回答 3 投票 0

如何构造(而不是分配)std::array 元素?

我有一个无法重新分配的班级。实际动机是它有一个 std::variant 成员变量,并且由于有一些引用成员变量,可能的类型不可重新分配...

回答 1 投票 0

使用TYPE REF TO数据的正确方法?

我已经声明了一个数据引用类型的类型。所以它看起来像这样 my_type 数据类型引用。 然后我声明一个内部表,我想将其分配给 my_type。 数据: ref_data 类型 my_t...

回答 3 投票 0

在 Java 中,(a == (a = b)) 会产生未定义的行为吗?

正在学习Java,对赋值操作的返回值的属性有疑问。我知道 Java 在 x = y 赋值后返回变量的值,但是当...

回答 1 投票 0

如何将字典中的值以相等的数量分配给数据框列?

我有一份 5 个地区之一的销售代表名单。我需要将它们分配给数量相等的潜在客户列表。 这是字典的一个例子: d = {'大':'杰克逊','大':'史蒂文斯','L ...

回答 1 投票 0

为什么对象赋值时不使用转换函数?

我了解到我们可以在 C++ 中为我们的类提供转换运算符。所以我希望对于下面的程序,c=1;会使用转换运算符 int()。但令我惊讶的是;那...

回答 3 投票 0

为什么在 JavaScript 中打印 12 而不是 10 [关闭]

每次我尝试此操作时,控制台日志都会打印 12 而不是 10: 让数字 1 = 3; 让数字 2 = 2; 数字 1 += 数字 2; 数字 2 += 数字 1; 让结果 = 数字 1 + 数字 2; 控制台日志(结果);

回答 1 投票 0

在#c 上使用“+=”

我不明白为什么在这段代码中,'b+='返回6而不是5。运算符'+='右端的操作应该是0。 我/ 2 = 4 a-4= 0 所以运算符 '+=' 应该只添加:0。 #include 我不明白为什么在这段代码中,'b+='返回6而不是5。运算符'+='右端的操作应该是0. i/2 = 4 a-4= 0 所以运算符 '+=' 应该只添加:0. #include<stdio.h> int main(){ int a=4, i=8; int b; b=++a; printf("%i\n",b); b+=a-i/2; printf("%i\n",b); } 只需使用语法理论 在这个声明之后 b=++a; b 和 a 将等于 5 由于前缀增量运算符 ++. 来自 C 标准(6.5.3.1 前缀递增和递减运算符) 2 前缀++运算符的操作数的值递增。 结果是递增后操作数的新值。这 表达式 ++E 等价于 (E+=1) 所以在这个复合赋值语句中 b+=a-i/2; 可以改写成 b = b + a - i/2; 你有 b = 5 + 5 - 4 因此,您有 b 等于 6. 您可以得到预期的结果是将变量b初始化为零 int b = 0; 如果要删除此声明 b=++a; 当你执行b=++a;时,a会递增。它的值变为 5。然后,a-i/2 是 5-8/2 然后 1.

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.