当我尝试对常量进行初始化时,我经常遇到作用域问题。
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;