C/C++ | Тесты
1.95K subscribers
27 photos
1 video
463 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.iss.one/+BTbqlW1VbIFmYmVi
Задачи t.iss.one/+9WeVk7cGswkzNTIy
Вакансии t.iss.one/+za2mJYs4riAzMzFi
Download Telegram
🤔 В чем разница создания shared_ptr через конструктор или через функцию make_shared?

Разница между std::shared_ptr<T>(new T) и std::make_shared<T>() заключается в управлении памятью и эффективностью:
- std::make_shared<T>() эффективнее, так как создает объект и управляющий блок в одной аллокации, снижая накладные расходы.
- std::shared_ptr<T>(new T) менее эффективно, так как делает две аллокации (одну для объекта, вторую – для управляющего блока).
- make_shared<T>() безопаснее в случае исключений, так как не допускает утечек памяти.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1💊1
🤔 Что известно про вызовы throw exception в конструкторах и деструкторах?

- В конструкторе: если выброшено исключение, объект считается несозданным, вызываются деструкторы уже созданных членов класса, после чего исключение передается дальше.
- В деструкторе: выбрасывать исключения небезопасно, так как это может вызвать std::terminate(), если исключение не обработано (throw в ~Destructor() недопустимо).
- Если необходимо обработать ошибку в деструкторе, лучше использовать логирование или явный вызов try-catch.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Сложность операции удаления элемента в vector

Удаление элемента в середине или начале std::vector имеет сложность O(n), так как все последующие элементы сдвигаются. Удаление элемента с конца (последнего) — O(1).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Какой тип данных используется для хранения больших целочисленных значений в C++?
Anonymous Quiz
2%
int
88%
long long
4%
double
6%
bigInt
💊2
🤔 Выбрасывание исключения из конструктора — это нормально?

Да, выбрасывание исключения из конструктора допустимо, если объект не может быть корректно инициализирован. Однако необходимо учитывать возможные последствия, такие как утечка памяти.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Когда возникает самый худший случай поиска в unordered_set?

Худший случай возникает, когда все элементы попадают в одну ячейку хеш-таблицы из-за коллизий, превращая поиск в линейный (O(n)).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 Сколько занимает места объект пустого класса?

Объект пустого класса занимает 1 байт. Это нужно для того, чтобы у каждого объекта был уникальный адрес в памяти.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Принцип Open/Closed (открытости/закрытости)?

Принцип открытости/закрытости гласит, что классы должны быть открыты для расширения, но закрыты для модификации. Это достигается за счёт использования абстракций, чтобы добавлять функциональность через наследование или композицию, не изменяя исходный код.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1