[問題] C++用marco debug的寫法
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
之前寫C的時候我會用marco來寫一些debug的訊息
大概像這樣子
#ifdef DEBUG
#define _DEBUG(str,args...) fprintf(stderr, str, ##args)
#else
#define _DEBUG(str,args...)
#endif
但是寫C++的時候想改成用cerr
用法我想還是用<<來寫
所以我就直接改成了
#define _DEBUG cerr
這樣我直接寫成 _DEBUG << "一堆訊息之類的" << endl; 就方便很多
可是問題就來了...
沒有define的地方我不知道怎麼寫
原本想直接用comment掉
但是只用//的話 換行會出問題
所以就放棄這個寫法了
現在我是用這種寫法
#define _DEBUG(x) x
#else
#define _DEBUG(x)
然後在程式裡面就寫成
DEBUG(cerr << "xx" << endl);
但是這種寫法我覺得真的很不美......
所以請教有沒有比較好的寫法 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.227.159.141
→
04/05 21:01, , 1F
04/05 21:01, 1F
→
04/05 21:02, , 2F
04/05 21:02, 2F
推
04/05 21:03, , 3F
04/05 21:03, 3F
→
04/05 21:03, , 4F
04/05 21:03, 4F
→
04/05 21:03, , 5F
04/05 21:03, 5F
→
04/05 21:03, , 6F
04/05 21:03, 6F
→
04/05 21:04, , 7F
04/05 21:04, 7F
→
04/05 21:06, , 8F
04/05 21:06, 8F
推
04/05 21:19, , 9F
04/05 21:19, 9F
→
04/05 21:54, , 10F
04/05 21:54, 10F
→
04/05 21:55, , 11F
04/05 21:55, 11F
推
04/05 21:58, , 12F
04/05 21:58, 12F
→
04/05 22:13, , 13F
04/05 22:13, 13F
→
04/05 22:14, , 14F
04/05 22:14, 14F
→
04/05 22:15, , 15F
04/05 22:15, 15F
→
04/05 22:27, , 16F
04/05 22:27, 16F
→
04/05 22:34, , 17F
04/05 22:34, 17F
→
04/05 22:35, , 18F
04/05 22:35, 18F
→
04/05 22:36, , 19F
04/05 22:36, 19F
→
04/05 22:52, , 20F
04/05 22:52, 20F
→
04/05 22:53, , 21F
04/05 22:53, 21F
→
04/05 22:56, , 22F
04/05 22:56, 22F
→
04/06 02:47, , 23F
04/06 02:47, 23F
→
04/06 02:51, , 24F
04/06 02:51, 24F
→
04/06 02:52, , 25F
04/06 02:52, 25F
→
04/06 02:54, , 26F
04/06 02:54, 26F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):