[問題] C的#define有辦法「語句」換成另外的「 …
C的#define可以拿來「單字」抽換成另外一個「單子」
但是有辦法可以「語句」抽換成「語句」嗎?
我要的不是像巨集一樣 macro(args) 之類的 來進行抽換
而是例如:把How are you?抽換成I'm fine. Thank you.
(以上代表是code語句而不是用引號包起來的字串...)
有辦法做到嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.77.52.127
→
03/20 10:18, , 1F
03/20 10:18, 1F
→
03/20 10:58, , 2F
03/20 10:58, 2F
→
03/20 10:59, , 3F
03/20 10:59, 3F
推
03/20 11:11, , 4F
03/20 11:11, 4F
→
03/20 11:12, , 5F
03/20 11:12, 5F
→
03/20 11:12, , 6F
03/20 11:12, 6F
例如我想將一個assignment改成呼叫function
例如
當我這樣寫的時候:
aNumberObject.int = 10; <==這是code的使用寫法
實際上是會被compiler認為是:
aNubmerObject.setInt(10); <==這時實際上的執行內容
這樣我就能在setInt()的function去改變這個assignment的行為...
而可以在aNumberObject.int使用特定的setter/getter
這只是一種舉例 如果可以改變語句的定義 可以做的事情應該會更多
※ 編輯: leondemon 來自: 120.126.97.60 (03/20 11:59)
推
03/20 12:18, , 7F
03/20 12:18, 7F
推
03/20 12:57, , 8F
03/20 12:57, 8F
或者是我想要用macro的功能 但是呼叫時不想用macro的方式
(就是呼叫時 不想寫的像呼叫一個function)
而可以讓我用「幾個字」來呼叫一個macro (還是說有辦法用字串呼叫macro?)
※ 編輯: leondemon 來自: 120.126.97.60 (03/20 13:05)
→
03/20 13:03, , 9F
03/20 13:03, 9F
→
03/20 13:07, , 10F
03/20 13:07, 10F
→
03/20 13:07, , 11F
03/20 13:07, 11F
※ 編輯: leondemon 來自: 120.126.97.60 (03/20 13:09)
→
03/20 13:11, , 12F
03/20 13:11, 12F
推
03/20 14:42, , 13F
03/20 14:42, 13F
→
03/20 18:16, , 14F
03/20 18:16, 14F