1000个共享指针占用多少内存?
How much memory do 1000 shared pointers take?
- (例如)1000 个共享指针需要多少内存?
- 是 16 x 1000 字节吗?
- 32位和64位系统有区别吗?
在典型的实现中,std::shared_ptr
holds only two pointers。
所以1000个共享指针占用了1000 * 2 * sizeof(pointer)
字节的内存。
- 在遵循 ILP32 数据模型的所有 32 位系统上,指针的大小都是 4 个字节。
- 在遵循 LP64 数据模型(大多数 Unix 和 Unix-like 系统)或 LLP64 数据模型(Microsoft Windows x86-64)的 64 位系统上,指针的大小为 8 个字节。
注意:控制块的大小(取决于实现)和共享指针共享所有权的对象的大小不是其中的一部分。
- (例如)1000 个共享指针需要多少内存?
- 是 16 x 1000 字节吗?
- 32位和64位系统有区别吗?
在典型的实现中,std::shared_ptr
holds only two pointers。
所以1000个共享指针占用了1000 * 2 * sizeof(pointer)
字节的内存。
- 在遵循 ILP32 数据模型的所有 32 位系统上,指针的大小都是 4 个字节。
- 在遵循 LP64 数据模型(大多数 Unix 和 Unix-like 系统)或 LLP64 数据模型(Microsoft Windows x86-64)的 64 位系统上,指针的大小为 8 个字节。
注意:控制块的大小(取决于实现)和共享指针共享所有权的对象的大小不是其中的一部分。