new int [25,2]是什么意思?

Jay*_*Jay 8 c++

在下面的代码中使用逗号使用第二个参数是什么意思?

int *num = new int[25,2];
Run Code Online (Sandbox Code Playgroud)

Eug*_*nca 18

这是操作中的逗号运算符:它在它的情况下评估它的操作数并返回最后一个操作数.所以这相当于:

int *num = new int[2];
Run Code Online (Sandbox Code Playgroud)

25,2除非这是一个技巧问题,否则说这部分不是预期的可能是安全的.

编辑:谢谢Didier Trosset.

  • 它返回最后一个. (4认同)
  • @Peter Alexander:可能想检查'回答x分钟前'部分;)我感谢Didier指出它返回的不是最后一个,就像我最初说的那样. (3认同)

Did*_*set 15

这是操作中的逗号运算符:它在它的情况下评估它的操作数并返回最后一个操作数.所以这相当于:

int *num = new int[2];
Run Code Online (Sandbox Code Playgroud)

  • 请注意,SO上的帖子文本是使用需要归属的许可证发布的.你可以复制粘贴,但你应该引用来源. (2认同)

Pet*_*der 11

您正在使用逗号运算符,这使得代码执行您可能不会乍一看的事情.

逗号运算符计算LHS操作数,然后计算并返回RHS操作数.所以在25, 2它的情况下它会评估25(什么也不做)然后评估并返回2,所以代码行相当于:

int *num = new int[2];
Run Code Online (Sandbox Code Playgroud)