c++ - 括号之间的两个字符串在 C++ 中用逗号分隔

标签 c++ string parentheses comma-operator

<分区>

我今天遇到了意想不到的(至少对我而言)C++ 行为,如以下片段所示:

#include <iostream>

int main()
{
  std::cout << ("1", "2") << std::endl;

  return 0;
}

输出:

2

这适用于括号之间的任意数量的字符串。在 visual studio 2010 编译器和键盘上进行了测试。

我想知道为什么首先要编译,这个“功能”有什么用?

最佳答案

啊,这是逗号运算符。当您使用一个逗号和两个(或更多)表达式时,会发生所有表达式都被执行的情况,并且整个结果是最后一个表达式的结果。这就是为什么您因此得到“2”的原因。参见 here以获得更大的解释。

关于c++ - 括号之间的两个字符串在 C++ 中用逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899009/

相关文章:

c++ - 实现快速模板数组重置方法

C++读取文件时未处理的异常

c++ - 包含宏定义的头文件

powershell - 忽略 Powershell 中文本字符串中的引号

android - 如何在android EditText中禁用自动完成右括号

python 对额外的括号敏感?

c++ - 使用 XFRM 消息更新 IPsec key

ios - NSNumberFormatter 0.1 问题

android - Android 上的化学公式

C# string.IndexOf() 返回意外值