問題:
在一個函數的場景中,我們稱之為printHex,修改std::cout 的狀態(例如,基數、欄位寬度等),函數呼叫後如何恢復原始狀態?當使用 std::cout 的後續輸出因 printHex 中所做的狀態變更而損壞時,就會發生此問題。
答案:
要重新獲得對std::cout 和的控制將其恢復為原始設置,我們可以利用
或者,我們可以使用資源獲取即初始化來實現恢復過程(RAII) 自動管理標誌的習慣用法。舉個例子:
透過這個類,可以實現如下恢復:
以上是函數修改其格式化標誌後,如何恢復「std::cout」的原始狀態?的詳細內容。更多資訊請關注PHP中文網其他相關文章!