- (例如)1000 个共享指针需要多少内存?
- 是 16 x 1000 字节吗?
- 32 位和 64 位系统有什么不同吗?
最佳答案
在典型的实现中,std::shared_ptr
holds only two pointers .
因此 1000 个共享指针占用 1000 * 2 * sizeof(pointer)
字节的内存。
- 在遵循 ILP32 数据模型的所有 32 位系统上,指针的大小为 4 个字节。
- 在遵循 LP64 数据模型(大多数 Unix 和类 Unix 系统)或 LLP64 数据模型(Microsoft Windows x86-64)的 64 位系统上,指针的大小为 8 个字节。
注意:控制 block 的大小(取决于实现)和共享指针共享所有权的对象的大小不是其中的一部分。
关于c++ - 1000个共享指针占用多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56021624/