Manipulateurs vs objets de format
Lors de la tentative de construction d'un flux de chaînes, une idée fausse courante surgit concernant le comportement de std::setw() . Supposer que cela affecterait perpétuellement le flux de chaînes était une hypothèse incorrecte, car il est réinitialisé après chaque insertion. Cet article vise à clarifier la distinction entre les manipulateurs collants et non collants et les objets de format, en abordant les questions suivantes :
Manipulateurs collants
Les manipulateurs à l'intérieur std::ios_base peut être classé en deux catégories :
Objets de format
Les objets de format sont utilisés pour modifier temporellement les propriétés de formatage d'un flux. Contrairement aux manipulateurs, ils n’affectent pas directement l’objet flux. Un exemple de ceci est l'objet de format PutSquareBracket, qui permet une modification temporaire du formatage sans affecter l'état permanent.
Conclusion
std::setw() est unique parmi les manipulateurs dans la mesure où c'est le seul qui ne colle pas. Le manque de documentation concernant son comportement spécifique peut être attribué à sa similitude perçue avec d'autres manipulateurs. Cependant, la réalité est qu'il se comporte différemment en raison de l'exigence dans les opérations de sortie formatées de définir explicitement la largeur à zéro.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!