每对的两个表达有什么区别?
我不理解这些表达式结尾处跟踪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;
谢谢!
答案 0 :(得分:1)
std::dec
设置流中数字的格式以供日后使用,方法与std::hex
设置i的输入/输出的格式相同。
答案 1 :(得分:1)
操纵器设置的某些标志仅对下一个输出或输入操作有效。
其他内容,如std::hex
或std::dec
设置的格式化标志,将永久设置在流对象中,并在设置标志后影响所有输出和输入操作。
因此,如果您使用std::hex
,则该点的所有整数输出和输入都将采用十六进制表示法。如果您只想输出或输入十六进制的单个数字,那么您需要&#34;重置&#34;使用例如默认的十进制表示法std::dec
导致语句如
std::cin >> std::hex >> i >> std::dec;