Вопрос
На моем оборудовании есть два компилятора C ++ и C89
Я думаю об использовании C ++ с классами, но без полиморфизма (чтобы избежать vtables).
Основные причины, по которым я хотел бы использовать C ++:
- Я предпочитаю использовать «встроенные» функции вместо определений макросов.
- Я хотел бы использовать пространства имен, поскольку префиксы загромождают код.
- Я считаю C ++ более безопасным, в основном благодаря шаблонам и подробному приведению типов.
- Мне действительно нравятся перегруженные функции и конструкторы (используются для автоматического приведения).
Видите ли вы какую-либо причину придерживаться C89 при разработке для очень ограниченного оборудования (4 КБ ОЗУ)?
Заключение
Спасибо за ваши ответы, они были действительно полезны!
Я обдумал тему, и я буду придерживаться C главным образом потому, что:
- Проще предсказать фактический код на C, и это действительно важно, если у вас есть только 4 КБ ОЗУ.
- Моя команда состоит в основном из разработчиков C, поэтому расширенные возможности C ++ не будут часто использоваться.
- Я нашел способ встроить функции в мой компилятор C (C89).
Трудно принять один ответ, потому что вы дали так много хороших ответов.
К сожалению, я не могу создать вики и принять ее, поэтому я выберу один ответ, который заставил меня задуматься.