Есть ли в C ++ дополнение структуры векторов, как в случае со структурами?
Другими словами, будет ли код А занимать такой же объем памяти, как и код Б, если бы я вставил как можно больше значенийв векторы или меньше?
Нет: массив T занимает sizeof(T) байт на элемент (плюс постоянные издержки, если массив динамически выделяется), и std::vector<T> в этом отношении действует как T[] (хотя и с несколько более высокими издержкамииз-за знания его размера и вместимости).Таким образом, любой отступ - это заполнение struct, включая tail после последнего члена, который всегда включается в sizeof.
T
sizeof(T)
std::vector<T>
T[]
struct
sizeof