0
我正在研究一個簡單的解釋器,以瞭解更多關於它們如何工作的信息。處理解釋器的多參數操作碼
我有幾個方面我不確定。
我該如何處理不同參數的操作碼?
我能有這樣的:
void execute(int opcode, int arg1, int arg2, int arg3, Machine m);
然而這樣的:
-Limits me to 3 args
-Forces me to supply dummy args for opcodes taking less args
什麼方式(S)口譯員通常面對呢?
我當然可以推一個int數組,但我想知道是否有更好的方法。
謝謝
一個解釋,只有最後一個參數可以是可變長度。 –
@ElliottFrisch:好點,我認爲它只與相同類型的變量有關。 –
在其他語言中可能如此。另一個需要注意的是,可變參數使參數完全可選,所以'execute(opcode,m);'也是有效的。 –