【发布时间】:2011-08-21 19:25:26
【问题描述】:
这里有人问过类似的问题:
Class members that are objects - Pointers or not? C++
所以我会保持简短。
假设我有一个包含三个 stl 向量的对象。我的想法是否正确,如果他们是班级的普通成员,他们的记忆将是整个对象的“一起”?例如我的记忆看起来像 10 个块向量 A,5 个块向量 B,然后是 15 个块向量 C。然后,一旦我将更多对象插入向量 A,这样空间就会耗尽整个结构,包括向量 B 和 C 需要搬家了吗?
那是指针的参数吗?还是向量在内部只是指向分配内存的指针?同样的问题也适用于列表等......
对于重定向的成本与复制小对象的成本是否有任何经验法则?可能是 5 指针重定向 = 1 整数副本?
谢谢
【问题讨论】: