LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Какой-то странный вопрос. Во-первых, кто сказал, что именно стек?

Я сказал. Пример же мой. Можно и кучу попортить, я не против.

Во-вторых, в большинстве случаев сейчас используется range-based for loop (как и в джаве).

А в меньшинстве используется индексированный доступ, как и в джаве. Даже в хорошем коде. А хороший код не везде.

В-третьих, используются специальные контейнеры вроде std::vector и std::array итерация по которым осуществляется с помощью итераторов.

По этим контейнерам интерация прекрасно осуществляется с помощью индексов, которые не проверяются и ничем не отличаются от сишного массива. А at никто не пишет.

В-четвертых, вот была недавно тема: Опубликованы C++ Core Guidelines array_view - как раз про это. Так что C++ это действительно не C с классами, как многие продолжают думать.

С++ это C с классами и шаблонами. То, что энтузиасты (мизерная доля от всех программистов на С++) пытаются на этом слепить безопасное подмножество языка, никуда не девает всё остальное (и всех остальных). Rust это не C с классами, это да. Тут соглашусь. А C++ это именно, что C с классами.

Исходная версия Legioner, :

Какой-то странный вопрос. Во-первых, кто сказал, что именно стек?

Я сказал. Пример же мой. Можно и кучу попортить, я не против.

Во-вторых, в большинстве случаев сейчас используется range-based for loop (как и в джаве).

А в меньшинстве используется индексированный доступ, как и в джаве.

В-третьих, используются специальные контейнеры вроде std::vector и std::array итерация по которым осуществляется с помощью итераторов.

По этим контейнерам интерация прекрасно осуществляется с помощью индексов, которые не проверяются и ничем не отличаются от сишного массива. А at никто не пишет.

В-четвертых, вот была недавно тема: Опубликованы C++ Core Guidelines array_view - как раз про это. Так что C++ это действительно не C с классами, как многие продолжают думать.

С++ это C с классами и шаблонами. То, что энтузиасты (мизерная доля от всех программистов на С++) пытаются на этом слепить безопасное подмножество языка, никуда не девает всё остальное (и всех остальных). Rust это не C с классами, это да. Тут соглашусь. А C++ это именно, что C с классами.