gpt4 book ai didi

c++ - 使用逗号运算符是一种好习惯吗?

转载 作者:IT老高 更新时间:2023-10-28 23:03:39 28 4
gpt4 key购买 nike

我最近(实际上仅在 SO 上)遇到了 C/C++ 逗号运算符的使用。据我所知,它会在左侧和右侧运算符之间的线上创建一个序列点,以便您拥有可预测(已定义)的评估顺序。

我有点困惑为什么会在语言中提供它,因为它看起来像是一个补丁,可以应用于最初不应该工作的代码。我发现很难想象它可以在不太复杂(并且需要重构)的地方使用。

有人能解释一下这种语言功能的用途,以及它可以在实际代码中的什么地方(在合理范围内)使用吗?

最佳答案

while() 循环的情况下很有用:

while (update_thing(&foo), foo != 0) {
/* ... */
}

这避免了必须复制 update_thing() 行,同时仍保持 while() 控制表达式中的退出条件,您希望在其中找到它。它还可以很好地与 continue; 配合使用。

在编写求值的复杂宏时也很有用。

关于c++ - 使用逗号运算符是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219836/

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