gpt4 book ai didi

c++ - 奇怪的条件语法

转载 作者:太空狗 更新时间:2023-10-29 23:40:56 28 4
gpt4 key购买 nike

我遇到了以下 for以非常不寻常的条件循环

int main( int argc, const char* argv[] ) {
for ( int i = 0 ; i < ( 10, 20 ) ; i++ ) {
cout << i << endl;
}
}

此源代码编译成功。它用 i 执行循环值从 0 到 19(表达式 10 中的 (10, 20) 似乎对迭代次数没有影响)。

我的问题:
这个条件语法是什么?为什么它不会导致编译错误?

编辑:
更大的图景:这个问题从一个错误开始,原始条件应该是 i < std::min( <expr A>, <expr B> )出于某种原因,我省略了 std::min .

所以,我想知道为什么代码首先要编译。现在我看到这个错误是一个合法的(尽管无用)语法。

谢谢!

最佳答案

它是逗号运算符。它计算表达式的两边,并返回正确的那一边。

因此,表达式 (10, 20) 什么都不做,但返回“20”。

另见

关于c++ - 奇怪的条件语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15360153/

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