Общее использование std:: cin
int X;
cin >> X;
Основным недостатком этого является то, что X не может быть const
. Он может легко вводить ошибки; и я ищу некоторый трюк, чтобы иметь возможность создать значение const и писать ему только один раз.
Наивное решение
// Naive
int X_temp;
cin >> X_temp;
const int X = X_temp;
Очевидно, вы могли бы улучшить его, изменив X на const&
; Тем не менее исходная переменная может быть изменена.
Я ищу короткое и умное решение, как это сделать. Я уверен, что я не единственный, кто получит хороший ответ на этот вопрос.
//EDIT: Я хочу, чтобы решение было легко расширяемым для других типов (скажем, все POD, std::string
и классы с возможностью перемещения с тривиальным конструктором) (если это не имеет смысла, пожалуйста, дайте мне знать в комментариях).