std::pair
e std::make_pair
std::pair
é um contêiner simples definido no cabeçalho <utility>
que consiste em dois elementos de dados ou objetos.
O primeiro elemento é referido como first
e o segundo elemento como second
e a ordem é fixa (first, second)
.
É usado para combinar dois valores que podem ser de tipos diferentes. O par fornece uma maneira de armazenar dois objetos heterogêneos como uma única unidade.
Exemplo simples de uso:
Podemos também iniciálizá-los com os valores que desejamos, exemplo:
Ainda podemos alterar/definir valores utilizando o std::make_pair
A menos que você inicialize o std::pair
como auto
, não é possível modificar os valores, e também só é possível utilizar 2 valores, no entanto para isso é indicado o uso de std::tuple
que aceita tipos diferentes e quantidades maiores.
std::tuple
Uma tupla é um objeto que pode conter vários elementos. Os elementos podem ser de diferentes tipos de dados.
Os elementos das tuplas são inicializados como argumentos na ordem em que serão acessados.
Nesse primeiro exemplo podemos notar que:
<tuple>
terroo
;std::make_tuple
para definir os valores baseados nos tipos;std::get<N>(terroo)
Para esse caso o tipo
bool
, lógico, imprimirá 1.
Você também podia declarar a tupla já inicializando os tipos:
Para obter o tamanho(número de elementos) da tupla, basta usar: tuple_size
:
É possível alterar o valor de um determinado elemento da tupla, exemplo: alterar o segundo elemento que é um const char*
:
Além de ser possível também concatenar tuplas com std::tuple_cat(tupla1, tupla2)
entre outras funções, para isso recomendo ver o C++ Reference.
Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !
Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:
Acesse o endereço: