模糊的C ++语法

时间:2010-11-07 14:18:42

标签: c++ syntax

  

可能重复:
  C++ Comma Operator

大约一年前,我在我正在编写的编码项目中注意到一些模糊的语法:

table_value = table_index += 2, valueFromTable(table_index);

有人认识到这一点吗?它就像一个带有附加声明的作业。这是在我们的整个跨平台编译器套件中编译的,所以我很确定它是有效的C ++,但我从来没有见过类似的东西。

任何见解都将受到赞赏。

Gearoid

编辑:以下是一些有效的代码:

#include <iostream>
using namespace std ;

int valueFromTable(int a) { return a ; }

int main()
{
  int table_index = 0 ;
  int table_value = table_index += 2, valueFromTable(12);
  cout<<table_value<<endl;
  return 0 ;
}

1 个答案:

答案 0 :(得分:6)

这是Comma operator 它是标准的C和C ++,但却非常不满意。

它评估两个参数,并返回第二个参数的结果。