我想将这些字符串向量存储为4维向量。我正在搜索三天,我无法决定是否使用多维向量,提升多数组,结构数组,... 我对cpp很新,他们很混乱。
vector < string >ID;
vector < string > firstName;
vector < string > lastName;
vector < string > address;
vector<vector<vector<vector<string> >>> person ;
我该怎样做才能填补这个人?
答案 0 :(得分:2)
正如@hansmaad所建议的
以下是一个更简单,更好的实现(与覆盖维向量相比),用于在程序中存储个人详细信息。
将某人定义为:
struct person {
std::string id;
std::string first_name;
std::string last_name;
std::string address;
};
并将您的vector
定义为:
std::vector< person > people;
答案 1 :(得分:1)
在您的情况下,创建多维数组没有意义。我宁愿尝试:
class Person
{
public:
string Id;
string firstName;
string lastName;
string address;
};
(...)
vector<Person> People;
// Adding
Person p;
p.Id = "1234";
People.push_back(p);
// Count
std::cout << "Currently you have " << People.size() << " people in the database";
// Access
Person p1 = People[0];
编辑:回应评论
如果没有关于你的问题的一些具体细节,那么很难回答这个问题。从我对它的了解很少,我可能会进入多级版本:
class Id
{
public:
int Value;
std::vector<FirstName> Names;
}
class FirstName
{
public:
string Value;
std::vector<SecondName> SecondNames;
}
class SecondName
{
public:
string Value;
std::vector<Address> Addresses;
}
class Address
{
public:
string Value;
}
答案 2 :(得分:0)
阵列的结构可能是!或者为了更好的可读性和可更改代码,请使用类