Which operator delete?

前端 未结 4 1516
[愿得一人]
[愿得一人] 2021-01-01 21:44

Is there a difference between:

operator delete(some_pointer);

and

delete some_pointer;

and if so what is

4条回答
  •  渐次进展
    2021-01-01 21:55

    delete some_pointer; is the "correct" one to use.

    operator delete(some_Pointer); exist mainly as an artifact of the syntax for defining you own delete operator. That is, because you define an plus operator as;

     myclass::operator+(myclass b) {....}
    

    you really could write:

     myclass c = a.operator+(b);
    

    but no one ever does that. They use:

     myclass c = a + b;
    

    Similarly, you could write operator delete(some_Pointer);, but no one ever does.

提交回复
热议问题