Явный конструктор std :: unique_lock от mutex

Я вижу, что перегрузка конструктора, который принимает мьютекс помечен explicit, Я не вижу смысла указывать это так. Я думаю, что нет ничего плохого в том, чтобы разрешить неявное преобразование из мьютекса в соответствующий std::unique_lock, Это действительно может быть удобно. Например, учитывая void func_a(std::unique_lock<std::mutex> lock) а также std::mutex mutмы могли бы напрямую ссылаться func_a на mut лайк func_a(mut), Какой может быть потенциальный вред по отношению к вызову func_a(mut)? Я не думаю, что есть какой-либо эффект, который может удивить пользователя. Итак, вопрос в том, что является обоснованием маркировки конструктора. explicit?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector