Структурное заполнение векторов в C ++ - PullRequest
0 голосов
/ 15 октября 2018

Есть ли в C ++ дополнение структуры векторов, как в случае со структурами?

Другими словами, будет ли код А занимать такой же объем памяти, как и код Б, если бы я вставил как можно больше значенийв векторы или меньше?

enter image description here

1 Ответ

0 голосов
/ 15 октября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...