前几篇文章中的某一篇,有一个读者回复,说我文章的内容C++ Primer上都有。确实是这样。作者写作本连载的的目的,首先是参照C++Primer自己学习,然后融入自己的理解并与大家分享。
大师的书当然好,但是具体到每个人不一定一下子都能够理解。通过作者的文章,大家可以在学习,理解的过程中哪怕可以少走一点弯路,对于作者来讲都是莫大的荣幸。
iostream中的操作符
相信每个C++程序员都见过下面的代码。
就作者本人来讲,很长时间以来,只是知道endl是个换行符,和"\n"差不多。另外一个认识,cout只能自动决定输出的内容,所以在需要改变输出格式时就会用回printf,虽然有点别扭,但也并没有去深究。
直到这次写公众号文章才知道endl是操作符(manipulator),在IO库中除了endl以外还提供了很多操作符,可以用于控制输出的格式。具体如下图。
本图来自C++Primer第五版
操作符举例
控制整数输出的进制表示
代码使用showbase/noshowbase来打开和关闭进制表示;使用oct/hex/dec来控制输出的进制。输出结果如下:
控制浮点数格式
浮点数的输出格式也可以控制,下面的代码是控制输出精度的例子。
代码输出如下:
C++11新特性
C++11中引入了两个新操作符:hexfloat和defaultfloat。分别用于将浮点数输出格式指定为16进制和10进制。
代码输出如下:
作者一句话
论语中有云:温故而知新。此话果然不假。
示例代码下载地址
觉得本文有帮助?请分享给更多人。
关注【面向对象思考】,轻松学习每一天!