cpp многомерный вектор

Я хочу хранить эти строковые векторы как четырехмерный вектор. Я искал три дня, и я не могу решить, использовать ли многомерный вектор, увеличить множественный массив, массив структуры, …
Я так новичок в cpp, и они так запутаны.

vector < string >ID;
vector < string > firstName;
vector < string > lastName;
vector < string > address;
vector<vector<vector<vector<string> >>> person ;

что я должен сделать для населяющего человека?

0

Решение

В вашем случае нет смысла создавать многомерный массив. Я бы лучше попробовал:

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;
}
1

Другие решения

По предложению @hansmaad

Следующее будет более простой и лучшей реализацией (по сравнению с многомерными векторами) для хранения личных данных в вашей программе.

Определить человека как:

struct person {
std::string id;
std::string first_name;
std::string last_name;
std::string address;
};

И определите свой vector как:

std::vector< person > people;
2

структура массивов может быть! Или для лучшего читаемого и изменяемого кода используйте класс

0
По вопросам рекламы [email protected]