Подтвердить что ты не робот

Что означает "C-style array" и как он отличается от std:: array (стиль С++)?

Я столкнулся с этим вопросом, читая о std:: array и std::vector.

4b9b3361

Ответ 1

Массив C-Style - это всего лишь "голый" массив, то есть массив, который не завершен в класс, например:

char[] array = {'a', 'b', 'c', '\0'};

Или указатель, если вы используете его как массив:

Thing* t = new Thing[size];
t[someindex].dosomething();

И "массив стиля С++" (неофициальный, но популярный термин) - это то, о чем вы упоминаете, - класс-оболочка, такой как std::vector (или std::array). Это только класс-оболочка (это действительно массив C-стиля под ним), который предоставляет удобные возможности, такие как проверка границ и информация о размере.