Brincadeira!, mas existe uma alternativa em C++ para não usar void pointer, que se chama Boost Any.

Imagina ter uma variável “Sem Tipo” no C++, igual nos podemos fazer no PHP ou Javascript.

Como uso Boost::Any?

Simples como declarar uma variável int, double ou char.

No repositório abaixo você poderá ver alguns exemplos que criei.

https://github.com/fegomes/boost_any

Exemplo

Qual Problema?


int main()
{
	boost::any texto = std::string("Isso é uma string!");

	// Output: Isso é uma string!
	std::cout << boost::any_cast<std::string>(texto) << std::endl;
	// agora sou um double
	texto = 10.52;
	// Output:: 10.52
	std::cout << boost::any_cast<double>(texto) << std::endl;

	return 0;
}

Para imprimir o valor, você tem que saber o tipo do valor que você atribuiu a variável

Como pode ver no exemplo acima, usei o boost::any_cast<tipo> para imprimir o valor da variável.

Tem alguma dúvida? Deixei seu comentário aqui embaixo!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *