C++编程思想读书笔记之 第六章 输入输出流介绍

本文探讨了C++中标准输入输出的局限性,包括效率与灵活性方面的问题,并详细介绍了C++输入输出流(iostreams)的优点,如安全性、易用性和扩展性等。此外还讨论了在不同场景下选择合适IO方式的重要性。

标准输入输出的缺点

1)即使仅使用解释程序的一部分功能,所有的东西将获得装载。

2)由于解释发生在运行期间,所以不能终止这个执行。

3)由于直到运行期间才对格式串求值,一个更糟糕的问题出现了:可能没有编译时的错误检查。

4)最重要的问题是函数中的printf( )族不是能扩展的,它们被设计是用来处理C中四类基本的数据类型(字符,整型,浮点数,双精度及它们的变形)。


文件输入输出流中,fstream在不暴露文件指针来操作文件,更安全。


输入输出流以重载<<和>>等运算子进行输入输出,不采用形如"%d %l"的格式化字符。


一个流是一个格式化并保存字节的对象。可以有一个输入流(istream)或一个输出流(ostream)。有不同类型的输入流和输出流:文件输入流(ifstreams)和文件输出流(ofstreams)、char*内存的(内核格式化)输入流(istrstreams)和输出流(ostrstreams)、以及与标准C++串(string)类接口的串输入流(istringstreams)和串输出流(ostringstreams)。


strstreams,它更像一个变量和输入输出的结合体,不是中间层。


编码规范要求,只在记录日志时使用流.

(流使得 pread() 等功能函数很难执行. 如果不使用 printf 风格的格式化字符串, 某些格式化操作 (尤其是常用的格式字符串 %.*s) 用流处理性能是很低的. 流不支持字符串操作符重新排序 (%1s), 而这一点对于软件国际化很有用.)

(流的<<符号和->符号在一起使用时,可能造成代码不清晰)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值