Фигурные скобки должны использоваться, чтобы указать и совпадать со структурой в ненулевой инициализации массивов и структурами
Фигурные скобки должны использоваться, чтобы указать и совпадать со структурой в ненулевой инициализации массивов и структурами.
Использование вложенных фигурных скобок в списках инициализаторов, чтобы совпадать со структурами вложенных объектов в массивах, объединениях и структурах поощряет вас рассматривать порядок инициализации сложных типов данных и делает ваш код более читаемым. Например, использование вложенных фигурных скобок в инициализации ex1 облегчает, чтобы видеть, как вложенные массивы arr1 и arr2 в struct ex1 инициализируются.
struct Example
{
int num;
int arr1[2];
int arr2[3];
};
//....
struct Example ex1 {1, {2, 3}, {4, 5, 6}}; //CompliantПравило не требует использования вложенных фигурных скобок, если вы обнуляете, инициализируют массив, объединение, или struct с вложенными структурами является верхним уровнем, например:
struct Example ex1 {}; //CompliantЕсли вы ненулевой инициализируете массив, объединение или struct, который содержит вложенные структуры и вы не используете вложенные фигурные скобки, чтобы отразить вложенную структуру, Polyspace® отмечает первый элемент первой вложенной структуры в списке инициализаторов. Например, в этом фрагменте кода, Polyspace отмечает номер 2 потому что это соответствует первому элементу вложенной структуры arr1 в struct ex1.
struct Example
{
int num;
int arr1[2];
int arr2[3];
};
//....
struct Example ex1 {1, 2, 3, 4, 5, 6}; // Non-compliantЕсли вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: операторы объявления |
| Категория: необходимый, автоматизированный |