传统的new操作符只能在动态内存中得到空间,如果我们想要重一个静态内存中得到一个空间,该怎么做呢?
就用布局new操作符
#include <iostream>
#include <new>
using namespace std;
int main()
{
char buffer[10];
char *p = new (buffer) char[sizeof(buffer)];
p[9] = 'a';
cout<<buffer[9];
return 0;
}
p指针指向了buffer的内存空间,可以直接对buffer进行写值,而且p等于buffer数组的首地址。
注意:这里不能对p进行释放空间。