operator new是普通函数还是重载new运算符的函数

1、如果operator new是重载new运算符,那为什么new关键字可以正常使用,如
class A{};
A *p = new A;
//为何不是调用operator new函数而是new关键字,我试过重载函数void *operator new(A)但是函数编译会报错,提示第一个参数要是size_t类型
还有int *p=(int *)new(sizeof(int));同样会报错

2、如果operator new只是单纯的是一个库函数而不是重载,那为什么该函数名中 间可以用空格

c++

1个回答

operator new是 重载new运算符的函数
https://blog.csdn.net/zxx910509/article/details/64905107

xujun3132008
[TheChosenOne] int *p=(int *)new(sizeof(int)) 这段代码为什么会报错,不是应该可以调用new的重载函数吗,为什么要显示调用int *p=(int *)operator new(sizeof(int))才不会报错
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问