推 xxxx9659:可是之前有遇過用了 UNUSED() 還是沒辦法抑制 warning 03/14 14:55
→ xxxx9659:不知道是不是編譯器太強知道 UNUSED( ) 是在作無效的動作 03/14 14:57
補充一下
我寫之前那篇文的時候在公司所以其實是隨意寫的
以下是真正的 Q_UNUSED 定義 (from Qt 4.8.2)
#if defined(Q_CC_INTEL) && !defined(Q_OS_WIN) || defined(Q_CC_RVCT)
template <typename T>
inline void qUnused(T &x) { (void)x; }
# define Q_UNUSED(x) qUnused(x);
#else
# define Q_UNUSED(x) (void)x;
#endif
在非 Windows 的 Intel 機器上其實 Q_UNUSED 是一個 inline function template
這樣確實是比較好
不過不知道為什麼 fallback 定義是 (void)x
至少應該像我一樣加個括弧吧...
--
作者 Linux (Windows) 看板 C_and_CPP
標題 [問題] 如何確認是否 free 對記憶體
時間 Fri Nov 2 00:14:03 2012
→ akasan:valgrind, 但 windowns 版的沒試過XD 11/02 00:43
→ akasan:linux 上那真的是不二選擇了 11/02 00:44
→ Linux:我是用 Windows ....>"< 11/02 00:45
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
※ 編輯: uranusjr 來自: 114.32.81.146 (03/15 00:30)
推 xxxx9659:#define Q_UNUSED(x) (void)x; //這個真的沒看過... 03/15 00:55
→ xxxx9659:到底是什麼人會去想到,要把一個東西轉成 void 型態!!?? 03/15 00:56
→ tinlans:轉 void 避 warning 是古早時期的書就在教的 03/15 04:08
→ tinlans:當時是用來應付有傳回值但你沒檢查傳回值的函式 03/15 04:09