После нескольких лет программирования на С++ мне недавно предложили кодирование задания в C во встроенном поле.
Отложив вопрос о том, правильно ли или неправильно отклонять С++ во встроенном поле, в С++ есть некоторые особенности/идиомы, которые я бы пропустил много. Просто чтобы назвать несколько:
- Общие, строгие структуры данных (с использованием шаблонов).
- RAII. Особенно в функциях с несколькими точками возврата, например. не забывая освобождать мьютекс в каждой точке возврата.
- Деструкторы вообще. То есть вы пишете d'tor один раз для MyClass, тогда, если экземпляр MyClass является членом MyOtherClass, MyOtherClass не должен явно деинициализировать экземпляр MyClass - его вызов вызывается автоматически.
- Namespaces.
Каков ваш опыт перехода от С++ к C?
Какие заменители C вы нашли для своих любимых функций С++/идиом? Вы обнаружили какие-либо функции C, которые вы хотели бы иметь на С++?