我在做一些实验时遇到了这行代码:
int home_address = current_pos_ = hash(key, size_);
我在想它实际上是做什么的?(不是哈希函数或其他任何东西,只是“int variable = variable = value;”这个东西)
我在做一些实验时遇到了这行代码:
int home_address = current_pos_ = hash(key, size_);
我在想它实际上是做什么的?(不是哈希函数或其他任何东西,只是“int variable = variable = value;”这个东西)
int home_address = (current_pos_ = hash(key,size_));
hash(key,size_)
的结果分配给current_pos_
,然后将current_pos_
的值分配给home_address
。hash(key, size_)
赋给了current_pos_
,并用current_pos_
的新值初始化了home_address
。current_pos_
的赋值运算符,并使用hash(key, size_)
的结果(可能执行隐式转换),然后使用赋值运算符的返回值来初始化home_address
(同样可能执行隐式转换)。int x = y = 0;
等同于
int x = 0;
y = 0;
int y = 0; int x = y;
。 - Matint y; y = 0; x = y;
。请注意,与初始化相反,这里为 y
进行了赋值。 - juanchopanzaint y;
,那么更像是这样:y=0; int x = y;
:) - BЈовић
current_pos_
,但是初始化了home_address
。 - Robᵩ