Warumiomanip/feste Breite Persistenz
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::fixed << std::setw(4) << std::setprecision(0);
std::cout << 4;
std::cout << 4;
}
Druck
" 44
(das Zitat ignorieren, es ist nur die Formatierung richtig zu machen) und nicht
" 4 4
?
Ich dachte, dass die Iostream 'Modifikatoren' im Stream persistent sind, bis sie explizit geändert/zurückgesetzt werden. Ich habe eine Reihe von Zahlen, die ich mit einem bestimmten Präfix drucken muss, damit alle Felder die gleiche Breite haben; Sollte ich meine Modifikatoren jedes Mal erneut anwenden, wenn ich einen drucke? Scheint nicht sehr effizient.
Einige Modifier sind persistent und andere nicht, ob es effizient ist oder nicht, ist jetzt irrelevant, da es nicht mehr geändert werden kann. –