定数の初期化をラップするときに、スコープの問題に頻繁に遭遇します
try {
const int value = might_throw();
}
std::cout << value << "\n"; /* error, value out of scope */
現在、回避策として一時的な値を使用しています。const
-try {}
状況に対処するためのより良い方法はありますか?
int tmp; /* I'd rather have tmp const */
try {
tmp = might_throw();
}
catch (...) {
/* do something */
}
const int value = tmp;