LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

де автор строки и не догадывается

если автор - программист на С++, то догадывается. Любой конструктор с одним аргументом нужно делать explicit по умолчанию, это хорошая практика, описанная во многих статьях. Можно подумать, что это костыль, но на самом деле, это не так, это в рамках идеологии С++ (конструктор - такой же метод, а для метода поведение 'implicit' очень интуитивно, поэтому оно по дефолту. конструктор с одним параметром - особый случай, и его надо подчеркнуть - ставим «explicit». нет проблем).

А вот размазывать по коду всякие касты - это плохая практика, заставляющая цепляться глазами всякий раз за это место, где это не требуется, усложняя чтение.

Исходная версия Deleted, :

де автор строки и не догадывается

если автор - программист на С++, то догадывается. Любой конструктор с одним аргументом нужно делать explicit по умолчанию, это хорошая практика, описанная во многих статьях. Можно подумать, что это костыль, но на самом деле, это не так, это в рамках идеологии С++ (конструктор - такой же метод, а для метода поведение 'implicit' очень интуитивно, поэтому оно по дефолту. конструктор с одним параметром - особый случай, и его надо подчеркнуть - ставим «explicit». нет проблем).