new重载
在看代码的时候看到一个new的用法,没有见过,大概是这样:
new(a) int(4)
这里a是一个指针。不太明白是怎么回事,后来一搜才知道,placement new,就是说将4放到a指针指向的内存区域中。
例子如下:
#include <stdlib.h>
#include <stdio.h>
#include <new>
int main()
{
int* a = new int(3);
int* b = new(a) int(4);
printf("%d/n",*a);
system("pause");
return 0;
}
这里输出结果应该是4,就是说a指针的内容已经被b的值覆盖了。
注意:这里一定要加new头文件,因为这里的new操作符是重载的,不加会出错。
2061

被折叠的 条评论
为什么被折叠?



