assignment-operator 相关问题

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

使用赋值表达式(`var a = b = c`)声明变量有什么作用?

我正在将一些 JavaScript 移植到 Java,但我很难理解以下两行代码: var 块=[]; 对于 (var z=0;z 我正在将一些 JavaScript 移植到 Java,但我很难理解以下代码中的两行: var blocks=[]; for (var z=0; z<size; z++) { var slice=blocks[z]=[]; //Those are the lines I don't understand. for (var x=0; x<size; x++) { var row=slice[x]=[]; //Those are the lines I don't understand. for (var y=0; y<size; y++) { row[y]=isFull(x,y,z); } } } 第一行声明“slice”,然后分配“blocks[z]”,然后再次分配一个空数组。 当我写这篇文章时,我想到可能是为了在分配新数据之前清除任何以前的信息,但我不确定。 实际上,将一个空数组分配给blocks[z],然后将blocks[z](空数组)的值分配给slice。 基本上,这只是为两个(或更多)变量赋值的一种简短方法 是和否,它会清除以前的数据,但这就是 var 正在做的事情。 重要的是它分配了一个数组,这样下面的行就不会崩溃 blocks =[]; // blocks is an array of zero length 'filled' with NULL values; var slice = blocks[z]; // slize would be the same as blocks[z] so it'd be NULL blocks[z] = []; // blocks[z] is now an zero length array filled with NULL values. 所有赋值代码都是从右到左执行的,因此它首先将一个数组分配给 blocks[z],然后将同一数组分配给 var slice 等等 x = y = z; 完全等同于: y = z; x = y; 按这个顺序。

回答 3 投票 0

赋值链(如`a = b = ...`)如何工作?

我在一些代码中看到了这一行 窗口.a = 窗口.b = a; 它是如何运作的? 以下内容总是返回 true 吗? 窗口.a == a

回答 6 投票 0

为什么`foo += a || b` 不等于 `foo = foo + a || b`?

据我了解,附加的赋值运算符只是缩短了我们递增值的方式,例如,我们不使用 x = x + 1,而是使用 x += 1,现在,这是一个示例...

回答 1 投票 0

为什么分配给函数调用表达式是有效语法?

在另一个问题中,有人有一个不正确的类定义,其中包含如下代码: var myClass = 函数() { /* ... */ this.name() = function() { /* ... */ }; } 明显的错误...

回答 1 投票 0

继承赋值运算符失败c++

截图: #包括 模板 MyOpt 类; 模板 MyOpt(T) -> MyOpt; 模板 MyOpt 类:私有 std::可选&...

回答 1 投票 0

在 HTML 中显示值

我想将搜索栏中的值显示到“ ”的搜索结果中。 这就是我到目前为止所得到的,为什么这不起作用? ...

回答 2 投票 0

变量赋值左边的方括号是什么意思(`[ (…) ] = (…)`)?

在一个项目中,开发者给我们发了一个JS文件,代码如下: var myList = [ 1, 2, 3 ]; 变量a、b、c; [ a, b, c ] = myList; 它可以在 Opera 10.30 和 Firefox 3.6.x 中运行,但不行......

回答 4 投票 0

如何让 Xcode 3.1 编译器对 if 语句中的赋值运算符发出警告?

我已尝试尽我所能搜索文档和互联网,但如果在 if 状态中使用赋值运算符,我无法让 Xcode 编译器发出警告...

回答 2 投票 0

C 中的表达式。尽管有分号,赋值表达式还是这样吗?

我目前正在学习 C,教授在一张幻灯片中指出,添加到表达式中的分号使其成为一个声明。另一方面,它提到所有赋值都是表达式。

回答 1 投票 0

C++:为派生类型继承基类中定义的const赋值运算符

有很多很多关于继承operator=的帖子,通常的答案是“它被隐式定义的操作符所掩盖,如果你知道自己在做什么,请使用using Base::operator=”。 ...

回答 1 投票 0

复制赋值运算符的重载解决方案

如果除了隐式定义的复制赋值运算符之外,类还定义了带有非左值引用对象参数的运算符=,则必须选择哪个运算符? 请考虑

回答 1 投票 0

我无法在Python中正确地将我想要的值分配给变量[重复]

我想操纵矩阵“b”,但由于我已将其初始值指定为等于矩阵“a”的初始值,因此矩阵“a”也被操纵,这不是

回答 2 投票 0

为什么不能将数组赋值给数组?

所以我正在尝试一些数组,但我不明白为什么这不起作用。 int 数字[5] = {1, 2, 3}; int 值[5] = {0, 0, 0, 0, 0}; 值=数字; 出现以下错误: 呃...

回答 6 投票 0

C++ 赋值中等号 (=) 和大括号 ({}) 有什么区别?

只是想了解 = 和 { } 之间的初始化/赋值差异 #include“std_lib_facilities.h” 类令牌{ 民众: 炭类型; 双值;

回答 1 投票 0

赋值运算符不是序列点有什么好的理由吗?

operator = 不是序列点有什么充分的理由吗?在 C 和 C++ 中都是如此。 我很难想出反例。

回答 4 投票 0

作业的一侧是否排在另一侧之前?

我知道这是未定义的行为: 整数 i = 0; 整数a[4]; a[i] = i++; //<--- UB here because the order of evaluation of i for the left hand side and the right hand side are undefined...

回答 2 投票 0

C++17下赋值运算符是序列点吗?这个表达式的结果是什么? [重复]

建议不要在单个表达式中多次修改对象,也不要在同一表达式中修改对象后使用它。 整数 i = 0; ++++我; // UB ++i = i++; // 好的? 我认为

回答 1 投票 0

避免在复制构造函数和运算符=

在 C++ 中,当类包含动态分配的数据时,显式定义复制构造函数、operator= 和析构函数通常是合理的。但这些特殊方法的活动是重叠的......

回答 3 投票 0

Python变量赋值避免共享相同的内存空间

我需要一些帮助,以下 Python 代码是我尝试创建的 VRP ALNS 启发式实现。 def run_heuristic(num_customers, num_vehicles, num_iterations,

回答 1 投票 0

如何使用赋值运算符将结构体泛化为 int?

我正在尝试使用结构将多个较小的整数打包到 uint32_t 中。 结构PackedData { PackedData & 运算符=(uint32_t x) { a = (x >> 24) & 0xFF; b = (x...

回答 1 投票 0

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