我正在开发一个相当复杂的项目,一个自定义加密例程,如果你愿意(只是为了好玩),我在设计代码布局时遇到了这个问题.
我有许多功能,我希望能够通过索引调用.具体来说,我需要能够为加密过程随机调用一个,但随后通过解密过程中的特定索引对其进行寻址.
我正在考虑一个经典的函数数组,但我主要担心的是函数数组维护起来会很棘手,而且有点难看.(目标是将每个函数对放在一个单独的文件中,以减少编译时间并使代码更易于管理.)有没有人有一个更优雅的C++解决方案作为函数数组的替代?速度不是真正的问题,我更担心可维护性.
-Nicholas
函数数组有什么问题?
您需要通过索引调用函数.所以必须以某种方式将它们放入一些"索引可索引"结构中.Array可能是最适合这种需求的结构.
示例(输入我的头,可能无法编译):
struct FunctionPair { EncodeFunction encode; DecodeFunction decode; }; FunctionPair g_Functions[] = { { MyEncode1, MyDecode1 }, { MySuperEncode, MySuperDecode }, { MyTurboEncode, MyTurboDecode }, };
在上面的方法中,"丑陋"或"难以维持"是什么?