我正在尝试初始化相同类对象的指针数组。这是类(class):

class Correspondent{
    private:
        static Correspondent *correspondent[maxCorrespondents];
}

我尝试过constructor。但是它每次都被初始化。
Correspondent::Correspondent(string n,string c) {
    name = n;
    country = c;
    for(int i=0;i<=maxCorrespondents;i++){
        correspondent[i] = NULL;
    }
}

最佳答案

在定义此变量的一个翻译单元中:

Correspondent* Correspondent::correspondent[maxCorrespondents]{};

而已。此聚合初始化数组,而数组又默认初始化每个指针。并且由于指针是基本类型,所以将执行零初始化,将它们全部设置为nullptr

07-24 16:30