使用new动态分配和初始化对象
在自由空间分配的内存是无名的,因此new无法为其分配的对象命名,而是返回一个指向该对象的指针。...string *ps = new string;//初始化为空string
int *pi = new int;//pi指向一个未初始化的int
我们可以直接使用直接初始化方式来初始化一个动态分配一个动态分配的对象...我们可以使用传统的构造方式,在新标准下,也可以使用列表初始化
int *pi = new int(1024);
string *ps = new string(10,'9');
vector...*pv = new vector{0,1,2,3,4,5,6,7,8,9};
也可以对动态分配的对象进行初始化,只需在类型名之后跟一对空括号即可;
动态分配的const对象
const int...p指向一个新对象
与赋值类似,reset会更新引用计数,如果需要的话,会释放p的对象。reset成员经常和unique一起使用,来控制多个shared_ptr共享的对象。