ДАННЫЙ ПЕРЕЧЕНЬ СОДЕРЖИТ ОБЩЕДОСТУПНЫЕ МАТЕРИАЛЫ, ПРОМАРКИРОВАННЫЕ КАК РАЗРАБОТАННЫЕ СОТРУДНИКАМИ ВШЭ И MAIL.RU, АВТОР В МОМЕНТ НАПИСАНИЯ НЕ МОЖЕТ ГАРАНТИРОВАТЬ, ЧТО В БУДУЩЕМ ЭТИ ОРГАНИЗАЦИИ НЕ БУДУТ ПРИЗНАНЫ ИНОСТРАННЫМИ АГЕНТАМИ
import math | |
class AbstractOperation: | |
def introduce(self) -> str: | |
return "" | |
def perform(self, a, b): | |
return a |
Unordered_map - аналог map (то есть контейнер для пар элементов, главным из которых является первый). Внутри unordered_map живёт хэш-таблица, про которые мы с вами ничего не знаем, но когда-нибудь нам расскажут. Важной особенностью хэш-таблицы является работа за О(1), что круто на фоне О(log(n)) в случае map. С другой стороны, для этого мы жертвуем возможностью использовать эту структуру как средство упорядоченья элементов.
Особенности unordered_map: (почти копия из map)
- На второй элемент карты не налагается вообще никаких ограничений и он не участвует ни в каких сравнениях
- В силу данного определения, в unordered_map могут быть положены только те пары, первые элементы которых
- сравнимы на равенство (можно просто перегрузить оператор ==, но обязательно он должен быть const)
- хэшируемы - все базовые и многие встроенные в бибилотеку std типы хэшируются без вашего участия. Для остальных необходима функция хэширования, которую надо реализовать к
Автор: Никита
Головной раздел: Меню
Билет 3. Конструкторы и деструктор класса, конструктор копирования и конструктор перемещения, назначение, пример.
Конструктор - блок инструкций, вызываемый при создании объекта класса.
Деструктор - блок инструкций, вызываемый при уничтожении объекта класса.
Автор: Никита
Головной раздел: Меню
Билет 1. Классы в языке С++: объявление, поля и методы классов. Определение функций внутри класса и за пределами класса, примеры.
Класс - это структура, в которую в языке С++ введены методы для обработки полей.
- struct
Автор: Толик
Головной раздел: Меню
Вопрос 27. Многозадачность в стандартной библиотеке C++: высокоуровневый интерфейс (функция std::async() и шаблон класса std::future< >), пример создания потока и получение результата потоковой функции.
std::async
позволяет выполнять функцию реально или мнимо параллельно.
std::future
предоставляет механизм взаимодействия с результатом асинхронной функции.
Автор: Толик
Головной раздел: Меню
Вопрос 19. Понятие особой (исключительной) ситуации в Си++. Общий формат обработки исключительных ситуаций (ключевые слова: try, catch, throw).
Исключительная ситуация - тот момент, когда дальнейшее выполнение программы невозможно.
Обработка исключений, возбужденных оператором throw, идет по следующей схеме:
Автор: Толик и Никита
Головной раздел: Меню
Основная идея: на базе существующего класса (называется родитель или базовый), создается производный класс (наследник или дочерний), который включает в себя поля и функции базового класса (наследует их), и содержит дополнительные поля (обладает новыми свойствами) и функции.
Для наследования после названия класса ставится двоеточие, и дальше имя класса, от которого наследуемся: