C++的操作符delete很特殊,跟new不对称

简介: C++的操作符delete很特殊,跟new不对称

代码声明如下:


#if __cplusplus & MEMORY_TRACE_FLAG & MEMORY_TRACE_OPERATOR
void* operator new(      long unsigned int nSize, const char* pFile, const char* pFunction, const int nLine);
void* operator new [](   long unsigned int nSize, const char* pFile, const char* pFunction, const int nLine);
void  operator delete(   void* p,                 const char* pFile, const char* pFunction, const int nLine);
void  operator delete [](void* p,                 const char* pFile, const char* pFunction, const int nLine);
#endif

宏定义(其他的头文件):

#define new       new(   __FILE__, __FUNCTION__, __LINE__)
#define delete    delete(__FILE__, __FUNCTION__, __LINE__)

奇怪的事情出现了:


new可以正确执行.


delete根本就编译不过.这是为什么?


错误是:


error: type ‘int’ argument given to ‘delete’, expected pointer
 #define delete    delete(__FILE__, __FUNCTION__, __LINE__)
                                                          ^
../gh-manager/gh_camera.h:56:17: note: in expansion of macro ‘delete’
                 delete pConfigure;
目录
相关文章
|
2月前
|
存储 Java 编译器
C++:内存管理|new和delete
C++:内存管理|new和delete
|
7天前
|
存储 编译器 C++
【C++】内存管理和模板基础(new、delete、类及函数模板)
【C++】内存管理和模板基础(new、delete、类及函数模板)
21 1
|
12天前
|
安全 程序员 C++
C++ new和delete的用法
需要注意的是,使用 `new`和 `delete`分配和释放内存时,程序员负责管理内存的分配和释放,这可能导致内存泄漏或释放已释放内存的问题。因此,C++引入了智能指针(如 `std::shared_ptr`和 `std::unique_ptr`)以更安全和自动化地管理内存。
35 2
|
20天前
|
C语言 C++
【C++基础(九)】C++内存管理--new一个对象出来
【C++基础(九)】C++内存管理--new一个对象出来
|
2月前
|
存储 Linux C语言
【C++练级之路】【Lv.5】动态内存管理(都2023年了,不会有人还不知道new吧?)
【C++练级之路】【Lv.5】动态内存管理(都2023年了,不会有人还不知道new吧?)
|
2月前
|
算法 程序员 C语言
【C++ 运算符重载】深入理解C++迭代器中的前置与后置++操作符
【C++ 运算符重载】深入理解C++迭代器中的前置与后置++操作符
48 0
|
2月前
|
算法 前端开发 大数据
【C/C++ 基础知识 】C++中易混淆的函数和关键字:std::find vs std::search,std::remove vs std::erase,remove vs delete
【C/C++ 基础知识 】C++中易混淆的函数和关键字:std::find vs std::search,std::remove vs std::erase,remove vs delete
36 0
|
2月前
|
设计模式 存储 算法
【C++ 函数调用操作符】探究C++中的函数调用操作符 基础到高级应用
【C++ 函数调用操作符】探究C++中的函数调用操作符 基础到高级应用
279 0
|
2月前
|
算法 安全 程序员
【C++14 新特性 透明操作符】透视C++14透明操作符Functors:深入理解与实践
【C++14 新特性 透明操作符】透视C++14透明操作符Functors:深入理解与实践
42 3
|
6天前
|
设计模式 安全 算法
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
16 0