小编Lin*_*Man的帖子

如果我为一个类编写运算符new和delete,我是否必须编写所有重载?

C++ Reference页面列出了全局新运算符的 8个特定类的重载.其中四个是为2017版C++添加的.

特定于类的分配函数

void* T::operator new  ( std::size_t count );   
void* T::operator new[]( std::size_t count );
void* T::operator new  ( std::size_t count, std::align_val_t al ); // (since C++17)
void* T::operator new[]( std::size_t count, std::align_val_t al ); // (since C++17)
Run Code Online (Sandbox Code Playgroud)

特定于类的放置分配功能

void* T::operator new  ( std::size_t count, user-defined-args... );
void* T::operator new[]( std::size_t count, user-defined-args... );
void* T::operator new  ( std::size_t count,
    std::align_val_t al, user-defined-args... ); // (since C++17)
void* T::operator new[]( std::size_t count,
     std::align_val_t …
Run Code Online (Sandbox Code Playgroud)

c++ memory-management new-operator delete-operator

9
推荐指数
1
解决办法
698
查看次数