这种动态分配有什么作用?

Str*_*ger 6 c++ new-operator comma-operator dynamic-memory-allocation

今天,我发现你可以用C++编写这样的代码并编译它:

int* ptr = new int(5, 6);
Run Code Online (Sandbox Code Playgroud)

这样做的目的是什么?我当然知道动态的new int(5)东西,但在这里我迷失了.有线索吗?

Bri*_*ndy 13

您正在使用逗号运算符,它仅计算一个值(最右侧).

逗号运算符(,)用于分隔两个或多个表达式,这些表达式只包含一个表达式.当必须为一个值计算表达式集时,只考虑最右边的表达式.

资源

指针指向的内存地址初始化为上面的值6.

  • 对,那是正确的.但是你可以有一些其他表达而不是5你想要评估和6返回.它将评估所有表达式,但返回最后一个表达式. (3认同)