0

每对的两个表达式有什么区别?我不明白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;

谢谢 !

4

2 回答 2

1

设置流中数字的std::dec格式以供以后使用,与std::hex设置 i 的输入/输出的格式相同。

于 2016-03-17T10:10:42.480 回答
1

一些由操纵器设置的标志只对下一个输出或输入操作有效。

其他的,例如由流对象设置std::hex或永久设置的格式化标志,并在设置标志后影响所有输出和输入操作。std::dec

因此,如果您使用std::hex,那么从该点开始的所有整数输出和输入都将采用十六进制表示法。如果您只想以十六进制输出或输入单个数字,则需要使用例如std::dec导致如下语句“重置”为默认十进制表示法

std::cin >> std::hex >> i >> std::dec;
于 2016-03-17T10:18:17.507 回答