Здравствуй, дорогой читатель!
Вот и родилась вторая часть моего шедевра девятилетней давности. Только теперь формат статьи поменялся — ответы я буду писать в свободное время в очень ленивом режиме, потому что работу я не ищу и вопросы передо мной стоят совершенно другие (например, хитромудрый рендеринг в текстуру), а свободного времени у меня немного, потому что я во время него обычно сплю и само собой мне лень.
При появлении ответа на какой-нибудь пункт, я буду его прятать под катом. И, разумеется, я не знаю ответов на абсолютно все эти вопросы и меня это нисколько не смущает, потому что я милорд синьор рисёрч инженер, а не Си плюс плюс задрот.
Вопросы по алгоритмам
- LRU кеш ограниченного размера
- Что такое хеш таблица
- Сделать дерево поиска в отсортированном массиве
- Структура с указателем на parent и надо найти наименьшего общего предка
- Вывести матрицу по спирали внутрь
- Убрать элементы нулевые элементы в
std::vector
ответЗасунуть все нулевые элементы с помощьюstd::swap
в конец и сделатьstd::vector::resize
- Развернуть односвязный список
- Исходный список содержит цифры, конечный i-й элемент содержит произведение всех элементов кроме i-того в исходном списке
- Рисование закрашенного треугольника
- Как нарисовать закруглённые уголки прямоугольника
Вопросы по языку C/C++
- В чём разница между
std::auto_ptr
иstd::unique_ptr
ответstd::auto_ptr
в конструкторе копирования (и операторе присваивания) изменяет источник, вstd::unique_ptr
конструктор копирования запрещён и можно пользоваться только move семантикой. - Бесконечная рекурсивная функция (в какие моменты может произойти, как сделать)
- Написать свой
std::shared_ptr
ответКод не приведу, но должен содержать два указателя: на данные и счётчик ссылок, должен быть шаблонным и определять конструктор копирования, оператор копирования, конструктор перемещения и оператор перемещения с посчётом количества ссылок. В деструкторе проверяем если--counter==0
то удаляем данные. - Отличие структуры от класса
ответПо умолчанию все членыstruct
имеют видимостьpublic
, аclass
—private
. Наследование отstruct
по умолчаниюpublic
, отclass
—private
. В остальном никакой разницы. - Выравнивание, размер структуры
volatile
иmutable
- Что такое pure virtual call
- Вызов виртуальных функций из конструктора и деструктора
- Таблица виртуальных функций
- Как работает
dynamic_cast
,static_cast
,reinterptet_cast
,const_cast
и C-style cast. Что происходит в случае ошибки приведения типа, работа со ссылкой и указателем - В чем отличие ссылки от указателя
- Многопоточность
std::shared_ptr
ответВсё прекрасно - Факториал итеративно, рекурсия, на шаблонах
- Отличие calloc и malloc
ответоба выделяют память, но calloc заполняет выделенный блок нулями.