定位new
定位new表达式是什么?
定位new表达式是在已分配的原始内存空间中调用构造函数初始化一个对象
使用格式:
new (place_address) type或者new (place_address) type(initializer-list)
place_address必须是一个指针,initializer-list是类型的初始化列表
定位new表达式在实际中一般是配合内存池使用。因为内存池分配出的内存没有初始化,所以如果是自定义类型的对象,需要使用new的定义表达式进行显示调构造函数进行初始化
一般情况下构造函数是无法显式调用的,它是在对象创建时由编译器自动进行调用的,但是使用定位new就可以显式地调用构造函数进行初始化
#include<iostream>
using namespace std;
class A