Existem truques para usar std :: cin para inicializar uma variável const?
Uso comum std :: cin
int X;
cin >> X;
A principal desvantagem disso é que X não pode serconst
. Pode facilmente introduzir erros; e estou procurando algum truque para poder criar um valor const e escrever apenas uma vez.
A solução ingênua
// Naive
int X_temp;
cin >> X_temp;
const int X = X_temp;
Você poderia obviamente melhorar mudando o X paraconst&
; Ainda assim, a variável original pode ser modificada.
Eu estou procurando uma solução curta e inteligente de como fazer isso. Tenho certeza de que não sou o único que se beneficiará de uma boa resposta a essa pergunta.
// EDIT: Eu gostaria que a solução fosse facilmente extensível aos outros tipos (digamos, todos os PODs,std::string
e classes de cópia móvel com construtor trivial) (se não fizer sentido, por favor me avise nos comentários).