我已经创建了struct,现在我需要为相应的struct创建一个数组。任何人都可以帮我解决这个问题吗?我在线查看了一些内容并且无法理解它,所以任何人都可以给我一个关于如何创建结构数组的示例和解释。
struct CANDIDATE{
string candiFN;
string candiLN;
int partyID;
int votes;
};
答案 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