Ei, pessoal! Então, como programadores, lidamos frequentemente com arrays de todos os tipos de dados. Vamos abordar array de strings em C++ no artigo de hoje.
Formas de declarar um array de strings em C++

1. A palavra-chave String para Criar um Array de Strings em C++
C++ provides us with ‘string’ keyword to declare and manipulate data in a String array.
A palavra-chave string
aloca memória para os elementos do array em tempo de execução, de forma dinâmica. Assim, ela evita a dor de cabeça da alocação de memória estática para os elementos de dados.
Sintaxe: Para declarar um array de strings usando a palavra-chave ‘string’
string array-name[size];
Além disso, podemos inicializar o array de strings usando a seguinte sintaxe:
string array-name[size]={'val1','val2',.....,'valN'};
Exemplo 1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string fruits[5] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"String array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
No exemplo acima, inicializamos o array de strings e utilizamos loops em C++ para percorrer o array e imprimir os itens de dados presentes no array de strings.
Saída:
String array:
Grapes
Apple
Pineapple
Banana
Jackfruit
Exemplo 2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string arr[5];
cout<<"Enter the elements:"<<endl;
for(int x = 0; x<5;x++)
{
cin>>arr[x];
}
cout<<"\nString array:\n";
for (int x = 0; x< 5; x++)
cout << arr[x] << "\n";
}
Como todos podem observar, no exemplo acima, aceitamos os itens de dados do array de strings a partir do console, ou seja, a entrada do usuário é coletada e imprimimos os elementos do array de strings.
Saída:
Enter the elements:
Jim
Nick
Daisy
Joha
Sam
String array:
Jim
Nick
Daisy
Joha
Sam
2. Usando o Contêiner C++ STL – Vector
C++ Standard Template Library provides us with containers to work with data and store it efficiently.
O Vector, sendo um desses contêineres, armazena os elementos do array de forma dinâmica. Assim, os Vetores C++ podem ser usados para criar um array de strings e manipulá-lo facilmente.
Sintaxe:
vector<string>array-name;
- O método
vector.push_back(element)
é usado para adicionar elementos ao array de strings do vetor. - O método
vector.size()
é usado para calcular o comprimento do array, ou seja, a contagem dos elementos inseridos no array de strings.
Exemplo:
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<string> arr;
arr.push_back("Ace");
arr.push_back("King");
arr.push_back("Queen");
int size = arr.size();
cout<<"Elements of the vector array:"<<endl;
for (int x= 0; x< size; x++)
cout << arr[x] << "\n";
}
Saída:
Elements of the vector array:
Ace
King
Queen
3. Usando array de char 2D
A 2D array represents an array of string in C++. So, we can use a 2D char array to represent string type elements in an array.
O array de char cria e armazena elementos de maneira estática ou em tempo de compilação, ou seja, o número e o tamanho dos elementos permanecem fixos/constantes.
Sintaxe:
char array-name[number-of-items][maximun_size-of-string];
Exemplo:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char fruits[5][10] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" };
cout<<"Character array:\n";
for (int x = 0; x< 5; x++)
cout << fruits[x] << "\n";
}
No trecho de código acima, criamos uma matriz de caracteres para armazenar elementos do tipo string, ou seja, `char array[5][10]`. Aqui, 5 representa a quantidade de elementos de string e 10 aponta para o tamanho máximo da string de entrada.
Saída:
Character array:
Grapes
Apple
Pineapple
Banana
Jackfruit
C++ String Array as an Argument to a Function
A string array can also be passed to a function as an argument the same way as another non-string type array is passed to it.
Sintaxe:
return-type function-name(string array-name[size])
{
// corpo da função
}
Exemplo:
#include <iostream>
#include<string>
using namespace std;
void show(string arr[4]){
for(int x=0;x<4;x++)
{
cout<<arr[x]<<endl;
}
}
int main() {
string arr[4] = {"Jim", "Jeo", "Jio", "John"};
cout<<"Printing elements of the string array:"<<endl;
show(arr);
}
Saída:
Printing elements of the string array:
Jim
Jeo
Jio
John
Conclusão
Neste artigo, entendemos maneiras de criar matrizes de strings e técnicas para utilizá-las em uma função.
Referências
Source:
https://www.digitalocean.com/community/tutorials/string-array-in-c-plus-plus