这些声明中的逗号分隔符在 C++ 中如何工作? [关闭]
Posted
技术标签:
【中文标题】这些声明中的逗号分隔符在 C++ 中如何工作? [关闭]【英文标题】:How does comma separator in these declarations work in C++? [closed] 【发布时间】:2018-02-13 20:55:42 【问题描述】:我不清楚以下包含逗号的声明;关于左侧变量如何映射到右侧值。因此,在每种情况下分配给左侧变量的值是多少?
声明 1:
long int x, y, z = d[0], k, len;
声明 2:
long int x, y, z = d[0], k;
(考虑long int d[100]
数组是较早启动的,并已分配值。)
【问题讨论】:
您到底对什么感到困惑?第一个声明创建 5long ints
,而第二个声明创建 4。
究竟是什么让您感到困惑?这些声明引用d
数组中声明的第一个元素。
避免混淆的一个好主意是分别声明每个变量。保存字符可能对 K&R 有好处,其Teletype terminal 的界面为每秒 10 个字符。
标记为 off-topic 关闭为 unclear。
“我很困惑”不是一个明确的编程问题。
【参考方案1】:
long int x, y, z = d[0], k, len;
这里声明了5个变量,都是long int
。
x
、y
、k
和 len
未初始化。
z
被初始化为d[0]
。
如果你这样写,也许更容易理解声明:
long int x,
y,
z = d[0],
k,
len;
【讨论】:
“也许它更容易理解......”如果这个(简单格式)是个好建议,我仍然有偏见。提及更好的做法使用单独的变量声明(尤其是在指针或引用方面)应该是值得的。 @TheDude,最佳实践是编写清晰的代码。对我来说,上述内容比您的建议更清楚。 等等!与简单地分解 multiline 变量声明相比,拥有单独的变量声明不太清楚?认真的吗? 是的,我想是的。你不这么认为。所以我的看法和你的看法不一样。大不了。以上是关于这些声明中的逗号分隔符在 C++ 中如何工作? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章