VC++實用巨集定義
前言:
在日常的程式設計工作中,常常定義一些實用的巨集方便呼叫,該文章將收集一些常用的巨集供大家參考,歡迎大家討論和新增!
指標釋放
最常用的就是指標的安全釋放。
對應new的釋放
#ifndef ReleasePtr
#define ReleasePtr(Ptr) {\
if (Ptr != NULL)\
{\
delete Ptr;\
Ptr = NULL;\
}\
}
if (Ptr != NULL)\
{\
delete Ptr;\
Ptr = NULL;\
}\
}
#endif
對於new陣列的釋放
#ifndef ReleasePtrEx
#define ReleasePtrEx(Ptr) {\
if (Ptr != NULL)\
{\
delete[] Ptr;\
Ptr = NULL;\
}\
}
if (Ptr != NULL)\
{\
delete[] Ptr;\
Ptr = NULL;\
}\
}
#endif
一個簡單的使用原則就是:new 和 delete、new[] 和 delete[] 對應使用
使用舉例:
char *pData = new StructXXXX ;
...//處理工程
ReleasePtr(pData );
char *pData = new char[100];
...//處理工程
ReleasePtrEx(pData );
關於delete和delete[]的區別請看我的另外一篇關於《delete與delete[]的真正區別》一文,地址:http://blog.csdn.net/cbnotes/article/details/38900799
相關文章
- iOS常用巨集定義iOS
- C語言(巨集定義)C語言
- Swift 裡的巨集定義Swift
- C++巨集定義#defineC++
- iOS 通用巨集定義 高效全域性巨集彙總iOS
- ios開發的巨集定義iOS
- 使用ant巨集定義任務
- iOS開發技巧:應用巨集定義使用字型iOS
- iOS 官方巨集定義 - “引入”、“廢棄”iOS
- 0x03. 使用巨集定義事件事件
- iOS-日常開發常用巨集定義iOS
- C++中巨集定義#define的用法C++
- c/c++標準預定義巨集C++
- 059.Define 巨集定義的巢狀巢狀
- define巨集定義和const常量定義之間的區別
- c 語言中巨集定義和定義全域性變數的區別變數
- 【C進階】21、巨集定義與使用分析
- iOS開發:pch檔案中的巨集定義iOS
- 跨平臺開發,各種巨集的定義
- 巨集定義和列舉型別的區別型別
- 一個C++巨集定義與列舉定義重複的編譯錯誤C++編譯
- gcc編譯階段列印巨集定義的內容GC編譯
- 有關C語言的知識---巨集定義用法C語言
- 記憶體對齊巨集定義的簡明解釋記憶體
- C語言中的標頭檔案中的巨集定義C語言
- C 語言巨集定義 #define 的理解與資料整理
- C語言巨集定義##連線符和#符的使用C語言
- C語言巨集定義中#define中的井號#的使用C語言
- 教你看懂C++類庫函式定義之一---HRESULT 巨集C++函式
- libev中ev_loop結構體中巨集定義的理解OOP結構體
- C/C++語言巨集定義##連線符和符#的使用C++
- C語言的本質(19)——預處理之一:巨集定義C語言
- 用VC++實現自繪按鈕控制 (轉)
- 用VC++實現上網撥號功能 (轉)C++
- 用VC++實現不規則視窗 (轉)C++
- iOS 常用巨集定義大全iOS
- pch檔案的使用, 標頭檔案使用, 常量(const)的定義,以及一些常用的巨集定義
- C++中使用巨集定義來註釋掉所有的cout輸出C++