Если это значение не равно 0 (в этом случае вы можете опустить некоторую часть инициализатора
и соответствующие элементы будут инициализированы в 0), простого пути нет.
Не забывайте, очевидное решение:
int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
Элементы с пропущенными значениями будут инициализированы в 0:
int myArray[10] = { 1, 2 }; // initialize to 1,2,0,0,0...
Таким образом, все элементы будут инициализированы в 0:
int myArray[10] = { 0 }; // all elements 0
В C ++ пустой список инициализации также инициализирует каждый элемент в 0.
Это не разрешено с C:
int myArray[10] = {}; // all elements 0 in C++
Помните, что объекты со статической продолжительностью хранения будут инициализироваться в 0, если нет
указан инициализатор:
static int myArray[10]; // all elements 0
И то, что «0» не обязательно означает «все биты-ноль», поэтому использование выше
лучше и более портативный, чем memset (). (Значения с плавающей точкой будут
инициализируется до +0, указатели на нулевое значение и т. д.)