我不得不类,与这些方法的一个执行器:在一个结构在运行时处理的可变数量的参数
- 执行器()
- 结构执行(字符串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