C++操作符(endl, setw, setprecision, setf)是什么?
流操作符是专门设计用于与流对象上的插入(<<)和提取(>>)运算符一起使用的函数,例如:
std::cout << std::setw(10);
它们仍然是常规函数,也可以像任何其他函数一样使用流对象作为参数来调用,例如:
boolalpha (cout);
操作符用于更改流上的格式参数,以及插入或提取某些特殊字符。
以下是C++中最常用的几个操作符:
endl
此操作符的功能与“\n”(换行符)相同。但它还会刷新输出流。
示例
#include<iostream> int main() { std::cout << "Hello" << std::endl << "World!"; }
输出
Hello World!
showpoint/noshowpoint
此操作符控制是否始终在浮点数表示中包含小数点。
示例
#include <iostream> int main() { std::cout << "1.0 with showpoint: " << std::showpoint << 1.0 << '\n' << "1.0 with noshowpoint: " << std::noshowpoint << 1.0 << '\n'; }
输出
1.0 with showpoint: 1.00000 1.0 with noshowpoint: 1
setprecision
此操作符更改浮点精度。当在表达式 out << setprecision(n) 或 in >> setprecision(n) 中使用时,将流 out 或 in 的精度参数设置为恰好 n。
示例
#include <iostream> #include <iomanip> int main() { const long double pi = 3.141592653589793239; std::cout << "default precision (6): " << pi << '\n' << "std::setprecision(10): " << std::setprecision(10) << pi << '\n'; }
输出
default precision (6): 3.14159 std::setprecision(10): 3.141592654
setw
此操作符更改下一个输入/输出字段的宽度。当在表达式 out << setw(n) 或 in >> setw(n) 中使用时,将流 out 或 in 的宽度参数设置为恰好 n。
示例
#include <iostream> #include <iomanip> int main() { std::cout << "no setw:" << 42 << '\n' << "setw(6):" << std::setw(6) << 42 << '\n' << "setw(6), several elements: " << 89 << std::setw(6) << 12 << 34 << '\n'; }
输出
no setw:42 setw(6): 42 setw(6), several elements: 89 1234
广告