Скобки должны использоваться, чтобы указать и соответствовать структуре в ненулевой инициализации массивов и структур
Скобки должны использоваться для указания и соответствия структуры в ненулевой инициализации массивов и структур.
Использование вложенных скобок в списках инициализаторов для соответствия структурам вложенных объектов в массивах, объединениях и структурах побуждает вас учитывать порядок инициализации типов комплексных данных и делает ваш код более читаемым. Для примера использование вложенных скобок в инициализации ex1 облегчает просмотр вложенных массивов arr1 и arr2 в структурном 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 внутренние структурные ex1.
struct Example
{
int num;
int arr1[2];
int arr2[3];
};
//....
struct Example ex1 {1, 2, 3, 4, 5, 6}; // Non-compliantЕсли вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
| Группа: Деклараторы |
| Категория: Требуемая |