Бьерн Страуструп - Язык программирования С++. Вступление, глава 1
Страница 13. Замечание для программистов на С


 

                    Замечание для программистов на С

    Чем лучше программист знает С, тем труднее будет для него при
программировании на С++ отойти от стиля программирования на С.  Так он
теряет потенциальные преимущества С++. Поэтому советуем просмотреть раздел
"Отличия от С" в справочном руководстве ($$R.18).  Здесь мы только укажем
на те места, в которых использование дополнительных возможностей С++
приводит к лучшему решению, чем программирование на чистом С. Макрокоманды
практически не нужны в С++: используйте const ($$2.5) или enum ($$2.5.1),
чтобы определить поименованные константы; используйте inline ($$4.6.2),
чтобы избежать расходов ресурсов, связанных с вызовом функций; используйте
шаблоны типа ($$8), чтобы задать семейство функций и типов. Не описывайте
переменную, пока она действительно вам не понадобится, а тогда ее можно
сразу инициализировать, ведь в С++ описание может появляться в любом
месте, где допустим оператор. Не используйте malloc(), эту операцию лучше
реализует new ($$3.2.6).  Объединения нужны не столь часто, как в С,
поскольку альтернативность в структурах реализуется с помощью производных
классов. Старайтесь обойтись без объединений, но если они все-таки нужны,
не включайте их в основные интерфейсы; используйте безымянные объединения
($$2.6.2).  Старайтесь не использовать указателей типа void*,
арифметических операций с указателями, массивов в стиле С и операций
приведения.  Если все-таки вы используете эти конструкции, упрятывайте их
достаточно надежно в какую-нибудь функцию или класс.  Укажем, что
связывание в стиле С возможно для функции на С++, если она описана со
спецификацией extern "C" ($$4.4).

    Но гораздо важнее стараться думать о программе как о множестве
взаимосвязанных понятий, представляемых классами и объектами, чем
представлять ее как сумму структур данных и функций, что-то делающих с
этими данными.

 
« Предыдущая статья   Следующая статья »