Рассмотрим две реализации std::make_unique. В каких из трёх случаев контент сконструированных объектов a и b будет разный?
Anonymous Quiz
26%
1
29%
2
26%
3
18%
Ни в одном
👆Пояснение к предыдущему вопросу
👨🏻💻 Правильный ответ -- только в первом случае. a создаст объект из пяти шестёрок, а b будет равен
В третьем примере дефолтные конструкторы сделают одно и тоже.
Задачи и тесты по программированию | proghub
👨🏻💻 Правильный ответ -- только в первом случае. a создаст объект из пяти шестёрок, а b будет равен
{5, 6}.
Так происходит из-за list-init initialization.
Во втором случае объект b будет равен просто {"a", "b"}
. Объект a мог быть ошибкой, если бы типы Args&&... вывелись бы как указатели на char*, тогда мог бы сработать конструктор от двух указателей но шаблоны выводятся как const char(&)[2]
и поэтому этот конструктор не срабатывает. То есть этот пример не скомпилируется и не является правильным ответом.В третьем примере дефолтные конструкторы сделают одно и тоже.
Задачи и тесты по программированию | proghub
Код скомпилируется?
Anonymous Quiz
32%
Нет, переменные в lambda иммутабельные, но decltype вернёт, что тип мутабельный
30%
Да, переменные в lambda неконстантные, поэтому их можно менять
19%
Да, так как только константные переменные могут изменяться, if constexpr не разрешит
19%
Нет, вызывать std::move в capture нельзя
Что выведет программа?
Anonymous Quiz
22%
Не скомпилируется, так как exception принимается по значению
24%
G
30%
SG
20%
S
4%
Неопределенное поведение
👆Пояснение к предыдущему вопросу
👨🏻💻 Мы кидаем
Мы должны принимать
Задачи и тесты по программированию | proghub
👨🏻💻 Мы кидаем
SpecialException
. Оно унаследовано от GeneralException
, но принимается по значению, поэтому динамический тип e будет GeneralException
, не SpecialException
. В С++ community такой эффект называют ещё slicing
.Мы должны принимать
exception
по ссылке catch (GeneralException& e)
, тогда динамический тип будет SpecialException
, и программа выведет S
.Задачи и тесты по программированию | proghub
Что напечатает программа?
Anonymous Quiz
28%
0
23%
1
23%
Не скомпилируется
26%
Implementation defined
Что выведет программа?
Anonymous Quiz
9%
a
27%
ab
36%
aab
14%
b
5%
Неопределенное поведение
9%
Не скомпилируется
🔥2
👆Пояснение к предыдущему вопросу
👨🏻💻 Казалось бы, мы проинициализировали
Чтобы это починить, можно написать так:
👨🏻💻 Казалось бы, мы проинициализировали
stream
строкой "a" и сначала выведем "a", потом добавим к стриму "b" и выведем "ab" и в итоге должно быть "aab", но нет.stringstream
содержит в себе позицию буффера. И при дефолтном конструкторе от строки, он будет нулём.operator<<
перезаписывает следующую позицию в буффере и поэтому во втором cout выведется bЧтобы это починить, можно написать так:
std::stringstream ss("a", std::ios_base::out|std::ios_base::ate);Поэтому многими стайлгайдами запрещено использование
stringstream.
Задачи и тесты по программированию | proghubИмеется кортеж вида T = (4, 2, 3). Какая из операций приведёт к тому, что имя T будет ссылаться на кортеж (1, 2, 3)?
Anonymous Quiz
22%
T[0] = 1
17%
T = (1) + T[1:]
41%
T = (1,) + T[1:]
20%
T.startswith(1)
👆Пояснение к предыдущему вопросу
👨🏻💻 Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но можно создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации:
При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.
Задачи и тесты по программированию | proghub
👨🏻💻 Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но можно создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации:
Т = (1,) + Т [1: ].
При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.
Задачи и тесты по программированию | proghub
👍3
Для чего в Python используется встроенная функция enumerate()?
Anonymous Quiz
24%
Для определения количества элементов последовательности.
64%
Для одновременного итерирования по самим элементам и их индексам.
13%
Для сортировки элементов по значениям id.
Forwarded from BZD • Книги для программистов
Scrum без ошибок.pdf
10 MB
📔 Title: Scrum без ошибок. Инструменты, техники и советы для тех, кто работает по Agile
#Book #Scrum #RU
🌐 Lang.: Russian
🧔 Author: Илан Голдштейн
🕘 Year: 2020
📑 Pages: 199
#️⃣ ISBN: 978-5-00146-306-1
📝 Description: Широкое распространение Scrum объясняется его кажущейся простотой,
однако его внедрение проходит далеко не так гладко, как ожидают
многие. Опираясь на свой обширный опыт, сертифицированный scrum-
тренер Илан Голдштейн раскрывает фундаментальные механизмы
Scrum и его сущность как фреймворка. В этой книге каждый найдет
решение своих проблем и конкретных scrum-задач. Даже те, кто
разобрался во всех scrum-тонкостях и держит все под контролем, найдут
для себя новые инструменты и добавят их в свой scrum-арсенал. В этой
книге Илан Голдштейн собрал 30 лайфхаков. Написаны они таким
образом, чтобы их можно было читать и использовать автономно,
независимо от других частей книги. Обращайтесь к тем из них, которые
больше всего отвечают вашим потребностям. И помните, что в этой
книге отражена только реальная scrum-практика, протестированная
в боевых условиях.
@bzd_channel
#Book #Scrum #RU
🌐 Lang.: Russian
🧔 Author: Илан Голдштейн
🕘 Year: 2020
📑 Pages: 199
#️⃣ ISBN: 978-5-00146-306-1
📝 Description: Широкое распространение Scrum объясняется его кажущейся простотой,
однако его внедрение проходит далеко не так гладко, как ожидают
многие. Опираясь на свой обширный опыт, сертифицированный scrum-
тренер Илан Голдштейн раскрывает фундаментальные механизмы
Scrum и его сущность как фреймворка. В этой книге каждый найдет
решение своих проблем и конкретных scrum-задач. Даже те, кто
разобрался во всех scrum-тонкостях и держит все под контролем, найдут
для себя новые инструменты и добавят их в свой scrum-арсенал. В этой
книге Илан Голдштейн собрал 30 лайфхаков. Написаны они таким
образом, чтобы их можно было читать и использовать автономно,
независимо от других частей книги. Обращайтесь к тем из них, которые
больше всего отвечают вашим потребностям. И помните, что в этой
книге отражена только реальная scrum-практика, протестированная
в боевых условиях.
@bzd_channel
Что выведет интерпретатор для следующей программы (версия Python 3.6+)?
Anonymous Quiz
30%
My name is Leo and I'm 31.00000 decades old.
19%
My name is Leo and I'm 3.1 decades old.
11%
Исключение: перед строкой стоит лишняя буква f.
33%
My name is Leo and I'm 3.10000 decades old.
6%
My name is {name} and I'm {age / 10:.5f} decades old.