Если у вас меньше элементов, вы можете указывать их один за другим. Инициализация массива работает путем указания каждого элемента, а не путем указания одного значения, которое применяется для каждого элемента.
int x[3] = {-1, -1, -1 };
Вы также можете использовать вектор и использовать конструктор для инициализации всех значений. Позже вы можете получить доступ к буферу необработанного массива, указав &v.front()
std::vector directory(100, -1);
Существует способ C сделать это, также используя memset
или различные другие подобные функции. memset
работает для каждого символа в указанном вами буфере, хотя он будет работать нормально для значений, подобных 0
, но может не работать в зависимости от того, как хранятся отрицательные числа для -1
.
Вы также можете использовать STL для инициализации массива, используя fill_n . Для действий общего назначения с каждым элементом вы можете использовать for_each.
fill_n(directory, 100, -1);
Или, если вы действительно хотите, вы можете пойти неудачным путем, вы можете сделать цикл for с 100 итерациями и выполнить directory[i] = -1;