1
在C++中使用unsetf
取消設置所有格式化標誌是否合法?取消設置所有格式化標記
或者是否至少可以合法取消所有的basefield
或floatfield
標誌?
什麼是定義的行爲,例如, std::cout
?
在C++中使用unsetf
取消設置所有格式化標誌是否合法?取消設置所有格式化標記
或者是否至少可以合法取消所有的basefield
或floatfield
標誌?
什麼是定義的行爲,例如, std::cout
?
該行爲確實已定義。在爲大整數寫一個插入操作符時,我查了一下。爲table 75(涉及basefield
)或table 76(floatfield
)等特定標誌提供格式說明符的表格在任何情況下都具有默認值。另見cppreference/num_put。
嗯,至少非粘性的仍然是默認的? –
相關:https://stackoverflow.com/questions/28257527/resetting-output-flags-in-c –
@πάνταῥεῖ我問'std :: ios_base :: flags',因爲我知道唯一的「標誌」認爲非粘性是「寬度」('std :: setw'),但是爲例如只是'basefield'設置爲0並輸出一個整數?順便說一句,據我所知,有'std :: defaultfloat'爲'floatfield',所以我猜這個問題變窄了。 – ledonter