我想用 C++ 或 Vala 做一个小型的人工生命模拟器。我无法决定如何编写基因类。一个基因由一组类似汇编程序的指令组成,这些指令存储在一个非常小的类中,例如:
rnd 0 10
add .0 20
mov .0 $accel
首先,我应该使用数组链表(std::list 还是 std::vector)?
其次,我应该将数组封装到类中还是将其公开?如果我选择前者,我将不得不包装列表的许多功能。后者违反了封装。
最佳答案
几乎肯定是一个
vector
;list
只会给您带来开销(就使用的内存和浏览列表所花费的时间而言),不会给您带来任何优势(我认为您的基因不需要在中间连续插入代码,即便如此,如果数据很小,vector
仍然会胜出)。如果类的客户需要几乎自由地操作指令列表,我认为封装它然后添加大量小包装函数没有用。
关于c++ - 存储小指令列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303450/