我不得不類,與這些方法的一個執行器:在一個結構在運行時處理的可變數量的參數
- 執行器()
- 結構執行(字符串s)
- 查找(字符串名稱,INT模塊,INT NUM,...)
和分析器:
- 分析器()
- 結構解析(字符串s)
的Exectuers Execute方法調用解析器解析方法。解析器然後將字符串卡入較小的位(它將在; -sign上爆炸字符串)並將結構返回給Execute方法。它用來調用查找方法的結構。 該解析返回的結構保持的一些標準信息:
- 的命令名
- 甲senderId(用戶名,MAC地址和密碼)
- 的參數個數可變
這就是我的問題。 Lookup方法需要可變參數,但是如何通過結構來處理這些可變參數的交接?我不是C和C++的專家。我應該把這兩個班級集中到一起嗎?所以Parser方法可以調用Execute方法,避免使用結構體。 或者也許有一種解析運行時參數的未知變量的方法?通過某種數組?
編輯 我不能使用C++的STL庫。我只使用C++類和虛擬功能。我寫一個編譯器,Im限制使用幾乎所有的C庫+ C++(虛擬和類)的魔法技能。 SOory不會馬上告訴你。
編輯2 將代碼寫入嵌入式系統,從而使用avr-gcc編譯我的代碼。這就是爲什麼我不能使用STL。 avr-gcc不支持這個。
閱讀你怎麼打算使用這個變量的參數集? – Jacob 2010-07-30 09:34:06
變量集的參數傳遞給Commands Execute方法。這種方法是純虛擬的,並且保存程序員定義的代碼。通過查找方法找到該命令(它通過一個列表並找到匹配模塊ID和傳遞給查找方法的命令名稱的命令)。然後由程序員決定執行Commands Execute方法來處理參數。 – mslot 2010-07-30 09:37:36