在C++中,结构体里的string数组可以在定义时初始化长度,也可以在后面的代码中动态分配长度。

例如,以下代码定义了一个结构体,其中包含一个长度为5的string数组:

struct Person {
    string name;
    string hobbies[5] = {"reading", "music", "sports", "travel", "cooking"};
};

在这个例子中,hobbies数组被初始化为包含5个元素的字符串数组,每个元素都是一个爱好。

如果你想在后面的代码中动态分配数组长度,可以使用vector代替数组。以下是一个使用vector的例子:

struct Person {
    string name;
    vector<string> hobbies;
};

int main() {
    Person john;
    john.hobbies.push_back("reading");
    john.hobbies.push_back("music");
    john.hobbies.push_back("sports");
    john.hobbies.push_back("travel");
    john.hobbies.push_back("cooking");
    return 0;
}

在这个例子中,hobbies被定义为vector,以便可以在运行时动态添加元素。在main函数中,我们使用push_back方法添加了5个元素到hobbies中


原文地址: https://www.cveoy.top/t/topic/g9ao 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录