comma-operator相关内容

C++模板-完整指南:关于decltype和return类型的脚注措辞

C++模板-完整指南第2版第436页有以下脚注(我的粗体): 不同的是,与其他上下文中的调用表达式不同,decltype(call-expression)不要求非引用、非void返回类型是完整的。而使用decltype(std::declval().begin(), 0)确实增加了调用的返回类型必须完整的要求,因为返回值不再是decltype操作数的结果。 脚注是指使用declt ..
发布时间:2022-02-25 20:16:48 C/C++开发

JavaScript 表达式中的逗号有什么作用?

如果我使用: 1.09 * 1;//返回“1.09" 但如果我使用: 1,09 * 1;//返回“9" 我知道 1,09 不是数字. 最后一段代码中的逗号有什么作用? 更多示例 if (0,9) alert("ok");//警报if (9,0) alert("ok");//不提醒 alert(1);警报(2);警报(3);//3 个警报警报(1),警报(2),警报(3);/ ..
发布时间:2022-01-29 22:52:48 前端开发

编译器如何知道函数调用中的逗号不是逗号运算符?

考虑函数调用(调用int sum(int, int)) printf("%d", sum(a,b)); 编译器如何判断函数调用sum(int, int)中使用的,不是逗号操作符? 注意:我不想在函数调用中实际使用逗号运算符.我只是想知道编译器如何知道它不是逗号运算符. 解决方案 看看C语言的语法.它在 标准的附录 A 中完整列出.它的工作方式是,您可以逐步遍历 C 程序中的每个标 ..
发布时间:2022-01-17 08:25:03 其他开发

C 逗号运算符

为什么在逗号运算符中指定的表达式(如下例)不被视为常量表达式? 例如 int a = (10,20) ; 在全局范围内给出时会产生错误“初始化程序不是常量",尽管由逗号运算符分隔的两个表达式都是常量(常量表达式).为什么整个表达式不被视为常量表达式?为了澄清起见,我已阅读 ',' 运算符在 C 中的作用是什么? 和 C 逗号运算符的使用.他们没有处理逗号运算符的这方面. 解决方案 ..
发布时间:2022-01-04 11:19:12 其他开发

如何在 C++ 'for' 循环中放置两个增量语句?

我想在 for 循环条件中增加两个变量而不是一个. 比如: for (int i = 0; i != 5; ++i and ++j)do_something(i, j); 这是什么语法? 解决方案 一个常见的习惯用法是使用 逗号运算符 计算两个操作数,并返回第二个操作数.因此: for(int i = 0; i != 5; ++i,++j)do_something(i,j); ..
发布时间:2021-12-11 12:22:53 C/C++开发

C 逗号运算符的使用

你看到它在 for 循环语句中使用,但它在任何地方都是合法的语法.如果有的话,您在其他地方发现了它的哪些用途? 解决方案 C 语言(以及 C++)在历史上是两种完全不同的编程风格的混合,可以将其称为“语句编程"和“表达式编程"".如您所知,每种过程式编程语言通常都支持诸如排序和分支之类的基本结构(请参阅结构化编程).这些基本结构以两种形式出现在 C/C++ 语言中:一种用于语句编程,另一种 ..
发布时间:2021-12-02 08:10:20 C/C++开发

逗号运算符如何工作

逗号运算符在 C++ 中是如何工作的? 例如,如果我这样做: a = b, c; a 最终等于 b 还是 c? (是的,我知道这很容易测试 - 只是在这里记录,以便有人快速找到答案.) 更新:这个问题暴露了使用逗号运算符时的细微差别.只是为了记录这个: a = b, c;//a 被设置为 b 的值!a = (b, c);//a 被设置为 c 的值! 这个问题实际上是受到代 ..
发布时间:2021-12-01 14:43:40 C/C++开发

逗号在 JavaScript 表达式中的作用是什么?

如果我使用: 1.09 * 1;//返回“1.09" 但是如果我使用: 1,09 * 1;//返回“9" 我知道 1,09 不是数字. 最后一段代码中的逗号有什么作用? 更多示例 if (0,9) alert("ok");//警报如果(9,0)警报(“确定");//不提醒 alert(1);警报(2);警报(3);//3 个警报警报(1),警报(2),警报(3);//也有 ..
发布时间:2021-11-30 22:21:16 前端开发

sizeof 接受两个参数

在 C++ IS (2003. 它也在 C++11 IS) 的 C.1.3 中,该标准指出了 ISO C 和 C++ 之间的区别;即对于 char arr[100]; sizeof(0, arr) 在 C 中返回 sizeof(char*),但在 C++ 中返回 100. 我找不到关于带有两个参数的 sizeof 的文档.明显的回退是逗号运算符,但我不这么认为:sizeof(arr) 在 ..
发布时间:2021-11-18 03:22:14 C/C++开发

逗号运算符和 void 表达式

我遇到了这个代码片段 1 int return_printChar1(){//代码//哎呀!没有退货声明}int return_printChar2(){//代码返回 printf("返回");}int main(){国际我;//还有一些代码i = return_printChar2();if((return_printChar1(),i)){printf ("陷阱");}} 1:这不是现实生 ..
发布时间:2021-09-13 20:40:26 C/C++开发

赋值语句中右边的增量表达式是按什么顺序计算的?它是未定义的吗?

我最近了解了 C 中的未定义行为,但此特定代码在站点中用作“逗号作为运算符"的示例,虽然我了解第 2 行中 y = x++ 的方式,但我不明白按什么顺序计算第 2 行中的子表达式.我认为这是未定义的行为,但我不确定,因为该网站没有提及任何此类内容. int main(){整数 x = 10, y;y = (x++, printf("x = %d\n", x), ++x, printf("x = ..
发布时间:2021-09-13 20:39:38 其他开发