Nem sei por onde começar! Vou explicar o que estou tentando fazer e tentar perguntar corretamente!
Eu montei 1 pequeno database usando uma Struct e depois mudei para uma Matriz de strings. OK! Acontece que no meio disso descobri vectors que nem sei como chamar corretamente o nome disso!
Então fiquei pensando se eu deveria usar vector no lugar da Matriz. Motivo pelo qual estou tentando entender o que é vector!
Se alguém achar que é uma má idéia usar vector no lugar da Matriz, me explique o motivo! Pq neste momento me pareceu ser o melhor a fazer! Mas não sei ainda!
Inicialmente o que entendi é que a partir da Matriz abaixo, vi a idéia do vector declarado logo abaixo, pois consigo ler ele no meu Grid!
std::string Database[1000][7]; // USANDO
std::vector<std::vector<std::string>> Database; // UMA IDÉIA
Então parti para estudar vector, mas tudo que acho são de arrays comuns, não o que eu quero saber!
O Problema é que quanto mais pesquiso, mais informação desencontrada e sem ligações me confundem!
Até o momento eu entendi os métodos pushback e etc... Mas não está funcionando direito! E para piorar, vi que minha declaração é um vetor de vetores!
E cada vez que pesquiso encontro mais coisas diferentes! A pouco encontrei um vetor de Struct... Uma Loucura!
No fim, eu não sei declarar o que preciso! Não sei adicionar os valores, pq dá errado! Só consegui adicionar seguindo regras exatas do que vi, mas isso não serve pra mim, e o único vector que de verdade entendi e sei fazer funcionar é assim:
std::vector<std::string> MyString;
Neste vector acima eu sei fazer tudo, adicionar item, remover e etc... Mas nos outros dá tudo errado!
Eu pensei em usar vector, pq parece melhor, já que ele remove dados com mais facilidade, mas de verdade não sei se é melhor!
DÚVIDA 1) É melhor usar vector ao invés de uma Matriz normal? Eu pensei no Vector pq não preciso declarar um tamanho fixo de linhas, e ainda me pareceu que posso até aumentar as colunas qdo eu desejar!
No exemplo abaixo eu consigo adicionar valores, mas acho que está péssimo a forma como aprendi a fazer, pq está me obrigando a criar vetores para adicionar dados, isso é muito esquisito!
Adiciono as Linhas criadas acima para Database
Database.push_back(Row1);
Database.push_back(Row2);
Database.push_back(Row3);
Eu não quero criar vetores, o que eu quero é apenas adicionar dados de forma normal igual a minha Matriz, mas que seja claro infinito como um vetor!
Mas não consegui declarar ele igual a matriz, não consegui fazer ter sentido!
DUVIDA 2) O que preciso para entender isso?
1) Quero saber se vector é um vetor/array mesmo, ao menos é o que parece! E o que até o momento eu entendi, visto que em muitos exemplos mostram ele de forma muito simples no formato antigo de array!
2) Ficou super confuso pra mim esse lance de não precisar infomar Qtd de Colunas, quero saber se é verdade se posso aumentar ou diminuir qdo eu bem entender já com dados dentro dele! Sobre as linhas eu entendi, sei aumentar, sei diminuir!
3) Como adiciono valores a um vetor de 2 dimensões sem ter que declarar vetores com é o caso do meu exemplo louco que tenho! Vetor de 1 dimensão eu sei fazer como explico acima!
Espero que alguém tenha entendido minha pergunta, pq ontem e hoje apenas estudando isso, me deixou bastante confuso, que nem estou conseguindo formular corretamente minha pergunta, pq o raciocínio não está coerente!