c++新语法,请解释一下

C++ new syntax, pls explain

本文关键字:解释 一下 语法 c++ 新语法      更新时间:2023-10-16

调用什么语法,它做什么?它是哪个c++标准?

shared_ptr<int> p{new int{10}};

我对第一组花括号{}感到困惑。我想,第二组是创建一个有10个元素的临时对象?

调用什么语法,它做什么?

这种语法称为统一初始化列表初始化。它做了很多不同的事情。在本例中,该构造将共享指针初始化为指向整数的普通指针,并将新分配的整数设置为10 (demo)。

效果与下面代码片段相同:

int *tmp = new int;
*tmp = 10;
shared_ptr p(tmp);

它是哪个c++标准?

这个语法是在c++ 11中引入的。