Задачи и тесты по программированию | proghub
2.42K subscribers
655 photos
16 videos
23 files
915 links
Публикуем задачи и вопросы для подготовки к собесу.

Сотрудничество: @cyberJohnny
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
IT work - актуальные вакансии и проекты для программистов всех уровней

🧠 Machine learning Jobs - вакансии Машинное обучение, работа с данными, аналитика.

🦫 Golang jobs - работа для Golang разрработчиков

🐍 Python Jobs - работа для Python программистов

☕️ Java Jobs - вакансии для java программистов

📱JS jobs - Javascrpt вакансии

🔥 English it - прокачай английский бесплатно для получения лучшего рабочего оффера.
Рассмотрим две реализации std::make_unique. В каких из трёх случаев контент сконструированных объектов a и b будет разный?
Anonymous Quiz
26%
1
29%
2
26%
3
18%
Ни в одном
👆Пояснение к предыдущему вопросу

👨🏻‍💻 Правильный ответ -- только в первом случае. a создаст объект из пяти шестёрок, а b будет равен {5, 6}. Так происходит из-за list-init initialization.

Во втором случае объект b будет равен просто {"a", "b"}. Объект a мог быть ошибкой, если бы типы Args&&... вывелись бы как указатели на char*, тогда мог бы сработать конструктор от двух указателей но шаблоны выводятся как const char(&)[2] и поэтому этот конструктор не срабатывает. То есть этот пример не скомпилируется и не является правильным ответом.

В третьем примере дефолтные конструкторы сделают одно и тоже.

Задачи и тесты по программированию | proghub
👆Пояснение к предыдущему вопросу

👨🏻‍💻 Мы кидаем SpecialException. Оно унаследовано от GeneralException, но принимается по значению, поэтому динамический тип e будет GeneralException, не SpecialException. В С++ community такой эффект называют ещё slicing.

Мы должны принимать exception по ссылке catch (GeneralException& e), тогда динамический тип будет SpecialException, и программа выведет S.

Задачи и тесты по программированию | proghub