Re: [問題] 傳入變數輸出變數名稱與變數值

看板C_and_CPP作者 (-858993460)時間14年前 (2011/09/23 11:43), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《loopuntil (紫霖)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : devc++ : 問題(Question): : 我想寫一個函式,假設叫printfun好了 : double printfun(double x);//假設宣告成這樣 : 預期傳入變數,然後輸出變數名稱與變數值 : 例如: : 輸入 : printfun(A);//假設A的值為0.12345 : 輸出 : A=0.12345 : 然後希望矩陣也可以依樣畫葫蘆,例如printfun(B[1][2]) : 可以印出B[1][2]=B[1][2]值 : 請問諸位先進,有辦法做到嗎? 看來大概只能這樣了 #define printfun(x) _printfun(#x,x) inline void _printfun(const char *name, double value) { cout << name << "=" << value << endl; } 其實不少除錯用程式碼都很常用這招 例如最常見的 assert 就是用這個方法才能印出是什麼判斷式出錯 -- LPH [acronym] = Let Program Heal us -- New Uncyclopedian Dictionary, Minmei Publishing Co. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.24.250

09/23 11:59, , 1F
感謝!
09/23 11:59, 1F

10/12 22:40, , 2F
這招好猛!
10/12 22:40, 2F
文章代碼(AID): #1EV01Wpd (C_and_CPP)
文章代碼(AID): #1EV01Wpd (C_and_CPP)