c++ - 存储小指令列表的最佳方法是什么?

标签 c++ data-structures vala

我想用 C++ 或 Vala 做一个小型的人工生命模拟器。我无法决定如何编写基因类。一个基因由一组类似汇编程序的指令组成,这些指令存储在一个非常小的类中,例如:

rnd 0 10
add .0 20
mov .0 $accel

首先,我应该使用数组链表(std::list 还是 std::vector)?

其次,我应该将数组封装到类中还是将其公开?如果我选择前者,我将不得不包装列表的许多功能。后者违反了封装。

最佳答案

  1. 几乎肯定是一个vectorlist 只会给您带来开销(就使用的内存和浏览列表所花费的时间而言),不会给您带来任何优势(我认为您的基因不需要在中间连续插入代码,即便如此,如果数据很小,vector 仍然会胜出)。

  2. 如果类的客户需要几乎自由地操作指令列表,我认为封装它然后添加大量小包装函数没有用。

关于c++ - 存储小指令列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303450/

相关文章:

data-structures - 在 Redis 中将集合存储为散列值

algorithm - 从每个列表中查找至少一个数字所属的最小范围

gtk - 为什么 Gtk.Widget.set_size_request 和 Gtk.Window.set_default_size 导致具有相同值的不同窗口大小?

parsing - 为什么有些编译器更喜欢手工制作的解析器而不是解析器生成器?

linux - vala是跨平台语言吗?

c++ - Boost.Asio 应用程序在创建接受器对象时抛出异常

C++ "delete"调试构建速度慢

c++ - 将 IPLimage 转换为 h.263 格式

c++ - 在 C++ 中对非数组变量使用 delete[]

c++ - 如何使存储数组的二进制搜索稳定