std::cout<<std::setbase(8)<<32;
和std::cout<<std::oct<<32;
之间的差异是否相同?
而且,std::cout.oct
??
答案 0 :(得分:1)
std :: oct 将str流的基本域格式标志设置为oct。
std :: setbase 将基本域格式标志设置为其可能的值之一:hex,dec或oct,具体取决于基本参数的值。
我认为最大的区别是setbase接受一个参数,所以你可以传递一个包含你想要的数字基数的变量。而不是使用一堆if语句来检查变量并使用dec,oct或hex。
虽然我不确定std :: cout.oct。