Чтобы установить массив указателей на нули в списке инициализатора конструктора, вы можете использовать ()
initializer
struct S {
int *a[100];
S() : a() {
// `a` contains null pointers
}
};
К сожалению, в текущей версии языка инициализатор ()
является единственным инициализатором, который вы можете использовать с элементом массива в списке инициализатора конструктора. Но, видимо, это то, что вам нужно в вашем случае.
()
оказывает тот же эффект на массивы, выделенные с new[]
int **a = new int*[100]();
// `a[i]` contain null pointers
В других контекстах вы можете использовать {}
агрегатный инициализатор для достижения того же эффекта
int *a[100] = {};
// `a` contains null pointers
Обратите внимание, что абсолютно не нужно сжимать 0
или NULL
между {}
. Пустая пара {}
отлично подойдет.