Intern
72
questionbank

С чем вы знакомы в языке программирования C++?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • Основы языка:
    • Типы данных (встроенные, пользовательские).
    • Операторы и выражения.
    • Управляющие структуры (ветвления, циклы).
    • Функции и их перегрузка.
    • Указатели и ссылки.
    • Динамическое выделение памяти (new, delete).
    • Пространства имен.
  • Объектно-ориентированное программирование (ООП):
    • Классы и объекты.
    • Инкапсуляция, наследование, полиморфизм.
    • Конструкторы и деструкторы.
    • Виртуальные функции и абстрактные классы.
    • Шаблоны классов и функций.
    • Умные указатели (std::unique_ptr, std::shared_ptr, std::weak_ptr).
  • Стандартная библиотека C++ (STL):
    • Контейнеры (векторы, списки, мапы, сеты и др.).
    • Алгоритмы (сортировка, поиск, преобразования и др.).
    • Итераторы.
    • Функциональные объекты (лямбда-выражения, функторы).
    • Потоки ввода-вывода (iostream).
  • Работа с памятью:
    • Стек и куча.
    • Управление ресурсами через RAII (Resource Acquisition Is Initialization).
  • Обработка исключений:
    • try, catch, throw.
  • Многопоточность:
    • std::thread.
    • Мьютексы (std::mutex).
    • Условные переменные (std::condition_variable).
  • Новые стандарты C++ (C++11/14/17/20):
    • Автоматический вывод типов (auto).
    • Rvalue ссылки и семантика перемещения.
    • Лямбда-выражения.
    • Диапазонные циклы for.
    • Параметры шаблонов переменной длины (variadic templates).
    • Сопрограммы (coroutines) (C++20).
  • Системное программирование:
    • Работа с файлами.
    • Сетевое взаимодействие (основы).
  • Инструменты разработки:
    • Системы сборки (CMake).
    • Системы контроля версий (Git).
    • Отладчики (GDB).
  • Производительность:
    • Оптимизация кода.
    • Профилирование.
    • Работа с низкоуровневыми деталями (при необходимости).

Дополнительно знаком с принципами TDD (Test Driven Development) и Unit Testing.