gpt4 book ai didi

c++ - 在 C 和 C++ 中使用逗号代替分号的效果

转载 作者:IT老高 更新时间:2023-10-28 13:21:48 27 4
gpt4 key购买 nike

在重构各种 C 和 C++ 代码时,我多次注意到使用逗号而不是分号来分隔语句。像这样的东西;

int a = 0, b = 0;
a = 5, b = 5;

我期待的地方

int a = 0, b = 0;
a = 5; b = 5;

我知道 C 和 C++ 允许使用逗号来分隔语句(尤其是循环头),但是这两段代码之间有什么区别?我的猜测是逗号是剪切和粘贴的结果,但它是一个错误,它会影响执行吗?

最佳答案

这对您发布的代码没有影响。一般来说,逗号就像分号一样分隔表达式,但是,如果你将整体作为一个表达式,那么逗号运算符意味着表达式的计算结果是最后一个参数。

这是一个例子:

b = (3, 5);

将评估 3,然后评估 5,并将后者分配给 b。所以 b = 5。请注意,括号在这里很重要:

b = 3, 5;

将计算 b = 3,然后是 5,整个表达式的结果是 5,然而 b == 3

当您的迭代器代码不是简单的 i++,但您需要执行多个命令时,逗号运算符在 for 循环中特别有用。在这种情况下,分号不适用于 for 循环语法。

关于c++ - 在 C 和 C++ 中使用逗号代替分号的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2087026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com