首页 > 解决方案 > C++中向量的结构填充

问题描述

C++ 中是否有任何向量的结构填充,就像结构一样?

换句话说,如果我要在向量中插入多少个值或更少,代码 A 会占用与代码 B 相同的内存量吗?

在此处输入图像描述

标签: c++vectorstruct

解决方案


否:一个数组T占用sizeof(T)每个元素的字节数(如果数组是动态分配的,则加上一个恒定的开销),并且在这方面std::vector<T>表现得类似T[](尽管由于知道它的大小和容量而具有更高的开销)。因此,任何填充都是struct-include始终包含在中的最后一个成员之后的尾部sizeof填充。


推荐阅读