[問題] 巨集中是否能對變數做前處理?
看板C_and_CPP (C/C++)作者didiaulin (YmEaSn)時間16年前 (2010/05/26 02:02)推噓3(3推 0噓 7→)留言10則, 9人參與討論串1/2 (看更多)
我是個c++的半生手
最近遇到一個case
前人留下的程式 設了一系列的20多個變數
例如 int a1, a2, a3, a4, ...
造成維護上相當的不便..
因此想請教各位高手
是否有什麼巨集的寫法能夠在編譯時就將變數代入
例如.. (我知道這個例子行不通orz)
#define TEST_M(i)
cout << a ## i << endl;
在使用時可以像這樣
int a1 = 100;
int a2 = 200;
int a3 = 300;
for(int i=0 ; i<3 ; i++)
TEST_M(i);
而印出
100
200
300
的結果
因為巨集會先展開
上面的用法在編譯時就會告訴我沒有 ai 這個變數= ="
為了這個問題今天google了幾乎大半天 沒有找到可用的資訊..
因此想請問各位高手 是否有可行的做法?
先謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.174.86
→
05/26 02:26, , 1F
05/26 02:26, 1F
→
05/26 02:27, , 2F
05/26 02:27, 2F
推
05/26 02:28, , 3F
05/26 02:28, 3F
→
05/26 02:34, , 4F
05/26 02:34, 4F
推
05/26 03:06, , 5F
05/26 03:06, 5F
→
05/26 07:26, , 6F
05/26 07:26, 6F
→
05/26 10:31, , 7F
05/26 10:31, 7F
→
05/26 21:11, , 8F
05/26 21:11, 8F
推
05/27 00:41, , 9F
05/27 00:41, 9F
→
05/29 10:42, , 10F
05/29 10:42, 10F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
3
10
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
-4
5