在C++ STL中,
我想测量向量及其所有内容的大小。如何准确地做到这一点?是否有可用于查看每个变量分配的内存的C ++库?
vector<bool>
类针对内存进行了优化,每个存储的bool
只分配一位,而不是一个字节。每次我输出vector<bool> x
的sizeof(x)
,结果都是40字节,这是创建向量结构的大小。sizeof(x.at(0))
总是返回16字节,这必须是为许多bool
值分配的内存,而不仅仅是在零位置上的一个值。16字节覆盖了多少个元素?恰好是128个吗?如果我的向量元素数量更多或更少会怎样?我想测量向量及其所有内容的大小。如何准确地做到这一点?是否有可用于查看每个变量分配的内存的C ++库?