Struct C ++的数组

时间:2014-08-23 13:19:46

标签: c++ arrays struct

我已经创建了struct,现在我需要为相应的struct创建一个数组。任何人都可以帮我解决这个问题吗?我在线查看了一些内容并且无法理解它,所以任何人都可以给我一个关于如何创建结构数组的示例和解释。

 struct CANDIDATE{

    string candiFN;
    string candiLN;
    int partyID;
    int votes;  

};

3 个答案:

答案 0 :(得分:4)

与制作任何数组的方式相同。以下是一个长度为5的数组。

CANDIDATE foo [5];

然后你可以填写它,但是你喜欢

for (unsigned int i = 0; i < 5; ++i)
{
    CANDIDATE temp("first", "second", 1, 2);
    foo[i] = temp;
}

或者

for (unsigned int i = 0; i < 5; ++i)
{
    CANDIDATE temp;
    temp.candiFN = "first";
    temp.candiLN = "second";
    temp.partyID = 1;
    temp.votes = 2;
    foo[i] = temp;
}

请注意,在C ++中使用std::vector为大多数应用程序带来了更多的安全性和灵活性。

std::vector<CANDIDATE> bar;
for (unsigned int i = 0; i < 5; ++i)
{
    CANDIDATE temp("first", "second", 1, 2);
    bar.push_back(temp);
}

答案 1 :(得分:1)

你可以这样做:

struct CANDIDATE{
    string candiFN;
    string candiLN;
    int partyID;
    int votes;  
}array[5];
//just add an array between } and ; 

答案 2 :(得分:0)

您可以创建值数组

CANDIDATE foo[5];

或指针数组

CANDIDATE* foo = new CANDIDATE[5];

第一个进入堆栈,第二个进入堆,需要手动删除

无论如何考虑使用std::vector