尾流操纵器在C++表达式中的含义
Meaning of trailing stream manipulator in C++ expression
每对的两个表达式有什么区别?我不明白这些表达式末尾的尾随std::dec
的影响。
与cin
,在此之间:
int i;
std::cin >> std::hex >> i >> std::dec;
而这个:
int i;
std::cin >> std::hex >> i;
与cout
相同的问题,在这之间:
int i;
std::cout << std::hex << i << std::dec << std::endl;
而这个:
int i;
std::cout << std::hex << i << std::endl;
谢谢!
操纵器设置的某些标志仅在下一个输出或输入操作中处于活动状态。
其他的,如由 std::hex
或 std::dec
设置的格式标志,在流对象中永久设置,并在设置标志后影响所有输出和输入操作。
因此,如果您使用std::hex
则所有整数输出和该点的输入都将采用十六进制表示法。如果您只想以十六进制输出或输入单个数字,则需要"重置"为默认的十进制表示法,例如 std::dec
导致诸如此类的陈述
std::cin >> std::hex >> i >> std::dec;
std::dec
设置流中数字的格式以供以后使用,其方式与std::hex
设置 i 的输入/输出的格式相同。
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 使用正则表达式regex_search在字符串中查找字符串
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 概念中的cv限定符需要表达式参数列表
- 为什么constexpr的性能比正常表达式差
- 对于结构,表达式必须是可修改的ivalue
- 当一个值是非常量但用常量表达式初始化时使用constexpr
- 将fold表达式与std::一起用于两个元组
- 断言中的Fold表达式在某些计算机上编译,但在其他计算机上不编译
- 标记 '","' 之前的预期主表达式
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 如何计算具有指定类型的表达式的相对精度和绝对精度
- 带有用户定义类的c++折叠表达式
- 即使使用调试编译标志,表达式也是"optimized out"
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 这 4 个 lambda 表达式之间有什么区别?