2017-06-29 12 views
1

在C++中使用unsetf取消設置所有格式化標誌是否合法?取消設置所有格式化標記

或者是否至少可以合法取消所有的basefieldfloatfield標誌?

什麼是定義的行爲,例如, std::cout

+0

嗯,至少非粘性的仍然是默認的? –

+0

相關:https://stackoverflow.com/questions/28257527/resetting-output-flags-in-c –

+0

@πάνταῥεῖ我問'std :: ios_base :: flags',因爲我知道唯一的「標誌」認爲非粘性是「寬度」('std :: setw'),但是爲例如只是'basefield'設置爲0並輸出一個整數?順便說一句,據我所知,有'std :: defaultfloat'爲'floatfield',所以我猜這個問題變窄了。 – ledonter

回答

1

該行爲確實已定義。在爲大整數寫一個插入操作符時,我查了一下。爲table 75(涉及basefield)或table 76floatfield)等特定標誌提供格式說明符的表格在任何情況下都具有默認值。另見cppreference/num_put

相關問題