
Указатели в C++ — явление, которое вызывает у новичков много вопросов. В нашей новой статье мы объясняем основную идею указателей и рассказываем, в какой ситуации нужно использовать их вместо обращения к объекту напрямую и чем будет отличаться работа с памятью при этих двух подходах: https://tproger.ru/articles/cpp-pointers/
Еще один полезный материал для новичков в двух частях:
— Перегрузка операторов в C++. Основы: https://tproger.ru/translations/cpp-operator-overload-p1/
— Перегрузка операторов в C++. Способы применения: https://tproger.ru/translations/cpp-operator-overload-p2/
Обещанные несколько задач, ссылки на ответы ниже:
— Самостоятельно реализуйте умный указатель на C++.
— Объясните разницу между шаблонами в C++ и дженериками в Java.
— Почему деструктор базового класса должен объявляться виртуальным?
— И еще одна задача, на перегрузку функций в C++, которая может оказаться сложнее, чем выглядит: https://tproger.ru/problems/cpp-function-override/
Решения:
— Умный указатель: https://tproger.ru/problems/write-a-class-for-smart-pointer/
— Разница между шаблонами и дженериками: https://tproger.ru/problems/explain-the-difference-between-the-patterns-in-c-and-c-and-generalizations/
— Про деструктор базового класса: https://tproger.ru/problems/why-base-class-destructor-must-be-declared-virtual/