- 有多少内存(例如(1000个共享指针拿走?
- 是16 x 1000字节?
- 32和64位系统是否有所不同?
在典型的实现中, std::shared_ptr
仅容纳两个指针。
因此1000共享指针占用内存的1000 * 2 * sizeof(pointer)
字节。
- 指针的大小为遵循ILP32数据模型的所有32位系统上的4个字节。
- 指针的大小为64位系统上的8个字节,该系统遵循LP64数据模型(大多数UNIX和UNIX样系统(或LLP64数据模型(Microsoft Windows X86-64(。
注意:控制块的大小(这取决于实现(和共享指针共享所有权的对象的大小不是其中的一部分。