Когда я использовал (недавно выпущенный) Cppcheck 1.69 на свой код 1, он показал много сообщений, в которых я не ожидал ;-) Отключение noExplicitConstructor
доказало, что все они были такого рода.Должен ли я действительно массово вводить явное ключевое слово?
Но я обнаружил, что я не только один с большим количеством новых сообщений Cppcheck, посмотрите на результаты анализа LibreOffice (который я могу показать на публике):
Что бы опытный программист сделал:
- Подавить проверку?
- Массовое изображение:
explicit
?
1Edit: Это конечно не мой код но код я должен работать, это унаследованный код: смесь C и C++ в нескольких (предварительно) стандартных вкусов, и это довольно большая база кода.
Опытный программист использовал бы «явный» там, где это необходимо, и опускал его там, где требуются неявные преобразования. – juanchopanza
Я не могу говорить для других программистов (опытных или других), но я бы использовал «явный», если я специально не хотел допускать неявные преобразования. Это уменьшает возможности для сюрпризов. –
@juanchopanza Я начал использовать 'explicit' в новом коде, но должен ли я переработать старый код после этого предложения инструмента? – Wolf