Ну, я в странной ситуации.Я работаю над системой, которая должна быть в C ++ (используется компилятор C ++ и используется термин C ++), но все написано на C. Это очень расстраивает, потому что доходит до того, что я должен «доказать«C ++ лучше использовать, чем C, хотя мы кодируем на C ++.Когда я представил std :: string, все было чертовски ужасно.Я полагаю, что теперь все начинает загромождаться (смешение C и C ++).Есть редкие случаи обработки ошибок.Фактически, я думаю, что могу сосчитать 3 общесистемных оператора try-catch.Код грязный, утечки памяти заметны, и поиск ошибки - это иголка в стоге сена.Существуют сотни строк кода, которые можно заменить функциями C ++.Я бы сказал, что написание кода более эффективно, чище и проще для понимания.
По моему опыту, да, конечно, вы можете смешивать C и C ++.Вы можете делать все, что захотите, но поддержка, отладка и выяснение того, что происходит, становится проблемой.Легко сказать, что вы собираетесь очистить распределение памяти, но, возможно, кто-то другой использует ваш код и не делает этого.Может быть, вы забыли это сделать и потратили часы на поиск глупых ошибок, вместо того, чтобы использовать это время для чего-то продуктивногоЯ даже не думаю, что должен быть аргумент.Когда вы делаете C ++, делайте C ++.Когда вы делаете C, делайте C.