的範圍。當包裝恆定我經常碰到範圍的初始化問題try塊限制常數變量
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;
在try塊中不使用變量的原因是什麼? –
該變量可能在try塊之後的許多行中使用。你是說我應該放大我的try塊來包含所有東西,即使它包含許多隻與使用變量相關的代碼行嗎? –
不一定。我只是想讓(可能)最簡單的解決方案成爲現實。我同意在某些情況下這是一個問題。 –