0

std::cout<<std::setbase(8)<<32;它们之间有什么区别std::cout<<std::oct<<32;?它们是等价的吗?

还有,目的是什么std::cout.oct??


std::oct 将 str 流的基域格式标志设置为 oct。

std::setbase将基域格式标志设置为其可能值之一:hex、dec 或 oct,具体取决于 base 参数的值。

我认为最大的区别在于 setbase 需要一个参数,因此您可以将一个包含所需数字基数的变量传递给它。而不是使用一堆 if 语句来检查变量并使用 dec、oct 或 hex。

我不确定 std::cout.oct 虽然。

4

1 回答 1

1

std::oct 将 str 流的基域格式标志设置为 oct。

std::setbase将基域格式标志设置为其可能值之一:hex、dec 或 oct,具体取决于 base 参数的值。

我认为最大的区别在于 setbase 需要一个参数,因此您可以将一个包含所需数字基数的变量传递给它。而不是使用一堆 if 语句来检查变量并使用 dec、oct 或 hex。

我不确定 std::cout.oct 虽然。

于 2011-01-11T16:35:42.837 回答