Закрепленная инициализация {}, без равняется знаку, буду использоваться для переменной инициализации
Закрепленная инициализация {}, без равняется знаку, буду использоваться для переменной инициализации.
Заключенная в фигурные скобки инициализация:
classType Object{arg1, arg2, ...};Предотвращает неявные преобразования сужения такой как от double к float.
Избегает неоднозначного синтаксиса, который приводит к проблеме самого раздражающего синтаксического анализа.
Например, от объявления:
ResourceType aResource();
aResource функция, возвращающая переменную типа ResourceType или объект типа ResourceType.Для получения дополнительной информации смотрите Ambiguous declaration syntax.
Правило также запрещает использование = распишитесь за инициализацию потому что = знак может произвести впечатление, что присвоение или копирует конструктора, вызывается даже в ситуациях, когда это не.
В общем случае средство проверки отмечает инициализации объекта obj1 из типа данных Type использование этих форматов:
Type obj1 = obj2;
Type obj1(obj2);
Средство проверки позволяет исключение для этих случаев:
Инициализация переменных с типом auto с помощью простого присвоения на константу, переменную, лямбда-выражение, стандартный список инициализаторов или вызов функции.
Инициализация ссылочных типов с помощью простого присвоения
Объявления с глобальной областью видимости с помощью формата Type a() где Type тип класса с конструктором по умолчанию. Анализ интерпретирует a как функция, возвращающая тип Type.
Инициализация переменной цикла в OpenMP параллельна for циклы, то есть, в for инструкции циклов, которые сразу следуют за #pragma omp parallel for
Средство проверки включено, только если вы задаете версию C++ C++ 11 или позже. Смотрите C++ standard version (-cpp-version).
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
| Группа: операторы объявления |
| Категория: необходимый, автоматизированный |
Ambiguous declaration syntax | Variable shadowing | Non-initialized variable | Write without a further read | Improper array initialization | Check AUTOSAR C++ 14 (-autosar-cpp14)