strings pair tuples stl
Aprenda rapidamente os conceitos básicos de cordas, pares e tuplas em STL.
Neste tutorial, obteremos conhecimento básico de Strings, Pair e Tuplas em STL, antes de pularmos para conceitos detalhados e maiores como Iteradores, Algoritmos e Containers.
Embora Strings sejam usadas da mesma maneira que na linguagem C ++ geral, vale a pena discutir do ponto de vista da STL. Podemos pensar em strings como um contêiner sequencial de caracteres. Além disso, como lidamos com classes de modelo em STL, é muito importante que conheçamos o conceito de PAIR e TUPLE em relação ao STL.
=> Verifique os tutoriais detalhados de treinamento C ++ aqui.
O que você aprenderá:
Strings In STL
Strings em STL suportam os formatos ASCII e Unicode (caractere largo).
STL suporta dois tipos de strings:
# 1) string: Esta é a string de formato ASCII e para incluir este tipo de objetos string no programa, precisamos incluir o arquivo string.h em nosso programa.
#include
# 2) wstring: Esta é a string de caracteres largos. Na programação MFC, nós o chamamos de CString. Para incluir objetos wstring em nosso programa, incluímos o arquivo xstring.
#include
Quer sejam ASCII ou Unicode, as strings em STL suportam vários métodos da mesma maneira que os outros contêineres STL.
Alguns dos métodos suportados pelo objeto string são:
- começar() : Retorne o iterador no início.
- fim() : Retorna o iterador no final.
- inserir() : Insira na corda.
- apagar() : Apaga caracteres da string.
- Tamanho() : Retorna o comprimento da string.
- vazio() : Esvazie o conteúdo da string.
Além desses métodos declarados acima, já cobrimos os métodos de classe de string em nossas strings anteriores em tutoriais C ++.
Vamos escrever um programa simples para demonstrar strings STL.
como testar a compatibilidade entre navegadores
#include #include using namespace std; int main() { string str1; str1.insert(str1.end(),'W'); str1.insert(str1.end(),'O'); str1.insert(str1.end(),'R'); str1.insert(str1.end(),'L'); str1.insert(str1.end(),'D'); for (string::const_iterator it = str1.begin(); it != str1.end(); ++it) { cout << *it; } int len = str1.size(); cout<<'
Length of string:'< Resultado:
MUNDO
Comprimento da corda: 5
No código acima, como vimos, declaramos um objeto string str1 e, em seguida, usando o método insert, adicionamos caracteres um a um no final da string. Em seguida, usando um objeto iterador, exibimos a string.
Em seguida, geramos o comprimento da string usando o método size. Este é um programa simples para demonstrar apenas as strings.
PAR em STL
A classe PAIR em STL é útil ao programar os contêineres associativos. PAIR é uma classe de modelo que agrupa dois valores de tipos de dados iguais ou diferentes.
A sintaxe geral é:
pair pair1, pair2;
A linha de código acima cria dois pares, ou seja, pair1 e pair2. Ambos os pares têm o primeiro objeto do tipo T1 e o segundo objeto do tipo T2.
T1 é o primeiro membro e T2 é o segundo membro do pair1 e pair2.
A seguir estão os métodos que são suportados pela classe PAIR:
- Operador (=): Atribuir valores a um par.
- trocar: Troca o conteúdo do par.
- make_pair (): Cria e retorna um par com objetos definidos pela lista de parâmetros.
- Operadores (==,! =,>,<, = ) : Compara dois pares lexicograficamente.
Vamos escrever um programa básico que mostra o uso dessas funções no código.
#include using namespace std; int main () { pair pair1, pair3; pair pair2; pair1 = make_pair(1, 2); pair2 = make_pair(1, 'SoftwareTestingHelp'); pair3 = make_pair(2, 4); cout<< '
Pair1 First member: '< Resultado:
Pair1 Primeiro membro: 1
Pair2 Segundo membro: SoftwareTestingHelp
Pares não são iguais
No programa acima, criamos dois pares do tipo inteiro cada e outro par do tipo inteiro e string. Em seguida, usando a função “make_pair” atribuímos valores a cada par.
Em seguida, comparamos pair1 e pair2 usando o operador “==” para verificar se eles são iguais ou não. Este programa demonstra o funcionamento básico da classe PAIR.
Tupla em STL
O conceito de tupla é uma extensão do par. Em par, podemos combinar dois objetos heterogêneos, enquanto em tuplas podemos combinar três objetos heterogêneos.
A sintaxe geral de uma tupla é:
tupletuple1;
Assim como o par, a tupla também suporta funções semelhantes e mais algumas funções adicionais.
Eles estão listados abaixo:
- Construtor: Para construir uma nova tupla.
- Tuple_element: Retorna o tipo de elemento de tupla.
- make_tuple (): Cria e retorna uma tupla com elementos descritos pela lista de parâmetros.
- Operadores (==,! =,>,<, = ): Lexicograficamente compara dois pares.
- Operador (=): Para atribuir valor a uma tupla.
- trocar: Para trocar o valor de duas tuplas.
- Laço: Amarre os valores de uma tupla às suas referências.
Vamos usar algumas dessas funções em um programa para ver seu funcionamento.
#include #include using namespace std; int main () { tuple tuple1; tuple tuple2; tuple1 = make_tuple(1, 2,3); tuple2 = make_tuple(1,'Hello', 'C++ Tuples'); int id; string str1, str2; tie(id, str1, str2) = tuple2; cout << id <<' '<< str1 <<' '<< str2; return 0; }
Resultado:
1 Hello C ++ Tuples
No código acima, para demonstrar tuplas, criamos duas tuplas. A primeira tupla tupla1 consiste em três valores inteiros. A segunda tupla, ou seja, tupla2 consiste em um valor inteiro e dois valores de string.
diferença entre controle de qualidade e garantia
Em seguida, atribuímos valores a ambas as tuplas usando a função “make_tuple”. Então, usando a chamada de função “amarrar”, amarramos ou atribuímos os valores de tupla2 a id e duas strings.
Finalmente, geramos esses valores. A saída mostra os valores da tupla2 que atribuímos a id e duas strings.
Conclusão
Portanto, neste tutorial, discutimos brevemente as strings, pares e tuplas usados em STL. Considerando que as operações de strings são semelhantes ao C ++ geral, além disso, também podemos operar iteradores nessas strings.
Construções de par e tupla são úteis durante a programação de contêineres STL, especialmente os contêineres associativos.
Em nosso próximo tutorial, aprenderemos sobre algoritmos e iteradores em detalhes antes de pularmos para a programação STL real usando STL.
=> Visite aqui para ver a série de treinamento C ++ para todos.
Leitura recomendada