|
1
1
这不是一个 问题 ,但这会影响性能。 使用更好的内存位置(连续内存而不是碎片内存)有助于CPU利用其缓存并最大限度地减少缓存未命中,这在性能方面可能是一件非常重要的事情。 但这并不是最重要的部分。您随时可以稍后对此进行优化。最重要的部分是数据结构实际上完成了它需要做的事情。
可能吧,但我不知道你想做什么,所以我帮不了你。 通常,在编写动态类型系统时,对象的类型是对象的一部分,即:
这允许对象独立于其容器。
我在互联网上阅读了我所知道的大部分内容(我确实有几本书,但没有多少是关于硬件架构的)。 编辑(回复评论)您可以找到有关使用C进行面向对象编程的更全面的信息 here . 作者已经做了大量的工作来解释这些概念,并且在创作动态类型时经常使用这些相同的思想(部分或全部)。 例如,通过使用虚拟函数表,可以完全避免强制转换。 另一方面,当类型集有限时,通常使用switch语句。
请注意
|
|
|
2
1
如果您的容器必须保存数据树,则在某种形式上非常需要这种结构。有一件事看起来很奇怪,那就是对象成员的类型是指针,通常是一个简单的值。 |