gpt4 book ai didi

c++ - 如何在C++中将结构类型 vector 数据输入到结构 vector 成员(嵌套结构 vector )中

转载 作者:行者123 更新时间:2023-11-30 03:17:09 26 4
gpt4 key购买 nike

我是初学者,正在实现调度模拟。我想将结构 vector (Order)插入托盘中的结构成员 vector (selectedParts)。

我知道如何将 int 类型 vector (fixtureTypes) 插入结构 Pallet 但我不知道如何将结构类型 vector (selectedParts) 插入 Pallet。如果有人告诉我如何解决它,我将不胜感激。

int main()
{
std::vector<Pallet> pallets;
int tmpFixtureType;
for (int i = 0; i < 3; ++i)
{
Pallet pallet;
pallet.palletNo = i;
for (int j = 0; j < 3; ++j)
{
cin >> tmpFixtureType;
pallet.fixtureTypes.push_back(tmpFixtureType);
}
pallets.push_back(pallet); //end the "pallet.fixtureTypes.push_back" loop

}

for (int i = 0; i < 3; ++i) //and then input the "selectedParts" in pallets
{
Order tmpOrder;
tmpOrder.partNo = j;
tmpOrder.partType = j;
pallet.selectedParts.push_back(tmpOrder);
}
pallets.push_back(pallet);

}

最佳答案

不清楚您要做什么,除此之外,代码甚至无法按原样编译。我会提供一些建议,也许这对你有用。

  1. 遵循标准命名约定(我更喜欢驼峰命名)。确保区分类型和实例。
  2. 一开始不要担心为 vector 或移动对象保留空间。

注意我重构了你的代码(主要是重命名了变量和类型)

#include <iostream>
#include <vector>

struct Order {
int partNo;
int dueDate;
int partType;
int pallet;
};

struct Pallet {
int palletNo;
std::vector<int> fixtureTypes;
std::vector<Order> selectedParts;
};

int main()
{
std::vector<Pallet> pallets;
int tmpFixtureType;
for (int i = 0; i < 3; ++i)
{
Pallet pallet;
pallet.palletNo = i;
Order tmpOrder;
for (int j = 0; j < 3; ++j)
{
cin >> tmpFixtureType;
pallet.fixtureTypes.push_back(tmpFixtureType);

tmpOrder.partNo = j;
tmpOrder.partType = j;
pallet.selectedParts.push_back(tmpOrder);
}

pallets.push_back(pallet);
}
}

看看这是不是你想要的。你可以从那里开始。

关于c++ - 如何在C++中将结构类型 vector 数据输入到结构 vector 成员(嵌套结构 vector )中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55740204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com