Можно ли рассмотреть C++ как C с возможностью объектно-ориентированного программирования из C#?
Я довольно хорошо знаю C#, недавно изучил C и теперь изучаю C++, можно ли рассмотреть C++ как C с возможностью объектно-ориентированного программирования из C#? Пытаюсь читать Бьерна Страуструпа, ощущение, что C++ это помесь шарпа и си но с измененным синтаксисом. Ошибаюсь ли я, или у C++ и C# в плане ООП есть какие-то различия помимо синтаксиса? Стоит ли полностью подробно ознакамливаться с си плюс плюс или же просто изучить краткое описание синтаксиса? Понятно, что реализация различных конструкций языков на самом низком уровне отличается, но изменяется ли их суть? Если да, то насколько? Возникла мысль об этом, ибо при чтении книги возникает чувство, что читаю одно и то же 100-й раз, идет туго и медленно.
Ответы (1 шт):
Современный С++ отличается от C кардинально:
- Compile time вычисления
- Более строгая типобезопасность
- Более богатая стандартная библиотека, где есть различные контейнеры и примитивы практически на любой случай
- Классы, инкапсуляция и многое другое, что мы называем ООП (хотя, писать в ООП стиле можно и на C)
- Обобщения, шаблоны, специализации и многие другие мощные средства
- Улучшения в управлении памятью относительно malloc\free из C