Operador ternário em C++ – Fácil demais!

Operador ternário em C++

Você já viu algo desse tipo em um código em C++: x ? a : b? Se sim, você deu de cara com o operador ternário. O operador ternário em C++ é um operador condicional que avalia uma condição e retorna um valor se a condição for verdadeira, e outro valor se a condição for falsa. É somente isso!

Funcionamento do operator ternário

Veja a seguir como funciona a sintaxe do operador ternário em C++. Primeiro temos a condição e o sinal de interrogação. Após a interrogação temos o valor que será retornado da expressão caso a condição seja verdadeira; logo em seguida, depois dos dois-pontos (:) temos o valor que será retornado quando a condição for falsa.

Sintaxe do operador ternário em C++
Sintaxe do operador ternário em C++

Exemplo de uso do operador ternário em C++

No exemplo abaixo vemos o uso do operator ternário para imprimir uma mensagem dizendo que um número aleatório gerador está abaixo de 50 ou é maior ou igual a 50. O primeiro operando do operador ternário é randomNumber < 50 (randomNumber é o número aleatório gerado pela função generateRandomNumber); o segundo é a mensagem dizendo que o número está abaixo de 50 (isso se randomNumber for menor que 50); se randomNumber for maior ou igual a 50, a mensagem gerada é a oposta. É só isso. Bastante simples, não?

#include <iostream>
#include <random>

int generateRandomNumber() {
	std::random_device rd;  // Seed for the random number engine
	std::mt19937 gen(rd()); // Mersenne Twister engine for randomness

	// Define the range [1, 100]
	std::uniform_int_distribution<> distr(1, 100);

	// Generate a random number
	int randomNumber = distr(gen);
	return randomNumber;
}

int main()
{
	int randomNumber = generateRandomNumber();
	std::cout << (randomNumber < 50 ? "O numero aleatorio gerado está abaixo de 50"
	          : "O numero aleatorio gerado está acima de 50") << std::endl;

	return 0;
}

O numero aleatorio gerado está acima de 50


Conclusão

Nós vimos nesse artigo como funciona o operador ternário em C++. Espero que você tenha percebido que ele é bastante simples. Todavia, ele pode causar problemas de eficiência por evitar que o mecanismo conhecido como RVO em C++ seja ativado – fique atento nisto! Se quiser saber ainda mais sobre operadores ternários em C++, leia o livro C++ Profissional, de Marc Gregoire, na página 25.

Gostou do artigo? Então inscreva-se na nossa newsletter para não perder nenhum dos nossos artigos 🙂

Foto de perfil de Emanoel

Sou apaixonado por tecnologia, literatura e também filosofia. O cultivo dessas paixões ao longo da minha trajetória me inspiraram a compartilhar aquilo que aprendo com os outros da maneira mais clara que eu possa. Sou formado em Engenharia Elétrica no Brasil, e também sou engenheiro formado na França. Trabalho atualmente como programador C++ em uma multinacional francesa, uma das maiores empresas de TI do mundo.

Leave a Reply

Your email address will not be published. Required fields are marked *