Какие типы не являются встраиваемыми?
Anonymous Quiz
15%
A E F K
15%
A B E F K
24%
A B E F H K
15%
ни одного
30%
все
Что верно об этом коде?
Anonymous Quiz
37%
он не скомпилируется
41%
он вызовет панику
22%
он скомпилируется
Что верно про выделение памяти в Go?
Anonymous Quiz
30%
для небольших объектов (< 32 КБ) выделяется из стека
24%
для небольших объектов (< 32 КБ) выделяется из кэша, затем из стека
32%
для больших объектов (> 32 КБ) выделяется прямо из кучи
14%
для больших объектов (> 32 КБ) выделяется сначала из стека, затем из кучи
👍1
Какая строка приведет к ошибке компиляции?
Anonymous Quiz
19%
3
19%
6
20%
7
9%
8
16%
9
17%
ошибок нет
Что будет результатом выполнения кода?
Anonymous Quiz
26%
не скомпилируется
53%
скомпилируется но запаникует в рантайме
21%
скомпилируется и успешно отработает
👆Объяснение к предыдущему вопросу
👨🏻💻 Если тип T встраивает тип X, то T получает все методы X. В частности, если X является типом интерфейса, вложение заставляет T реализовать X. Программа скомпилируется, но в ходе выполнения выкинет панику с ошибкой переполнения стека.
Задачи и тесты по программированию
👨🏻💻 Если тип T встраивает тип X, то T получает все методы X. В частности, если X является типом интерфейса, вложение заставляет T реализовать X. Программа скомпилируется, но в ходе выполнения выкинет панику с ошибкой переполнения стека.
Задачи и тесты по программированию
Сколько раз вызовется любая move операция класса X?
Anonymous Quiz
30%
Хотя бы раз
28%
Хотя бы два раза
38%
Нисколько
4%
Хотя бы три раза
Что напечатает программа?
Anonymous Quiz
43%
42
28%
4242
10%
Неопределенное поведение
19%
Не скомпилируется
👆Пояснение к предыдущему вопросу
👨🏻💻 Так как функция
Условно, C++ не разрешает конвертацию в шаблонный тип, потому что не понимает какая конвертация должна совершиться, какую
Задачи и тесты по программированию | proghub
👨🏻💻 Так как функция
call_with вызывается без шаблонов, компилятор попытается вывести тип T сам. Так как lambda не является std::function, то внутренний тип вывестись не может, и компилятор должен выкинуть ошибку. Условно, C++ не разрешает конвертацию в шаблонный тип, потому что не понимает какая конвертация должна совершиться, какую
std::function<void(T)> выбрать.Задачи и тесты по программированию | proghub