C++ primer 第八章
来源:互联网 发布:linux命令和shell关系 编辑:程序博客网 时间:2024/05/13 19:25
1. 如果函数有基类类型的引用形参,可以给函数传递其派生类型的对象。如,一个函数有istream&形参,可以传递ifstream或者istringstream对象。
2. 只有支持复制的元素类型可以存储在vector或者其他容器类型中。流对象不能复制,所以不能。
3. 形参或返回类型也不能为流类型,可以传递或返回指向该对象的指针或者引用。
4. 除了endl,flush可用于刷新流,但不在输出中添加任何字符;ends也可用于刷新流,在输出中插入空字符null。
如果要刷新所有输出,用unitbuf操作符,在每次执行完写操作后都刷新流。如果要取消unitbuf的效果,试用nounitbuf操作符。
cout<< unitbuf <<"aaa" <<"bbb"<< nounitbuf;
5. 如果程序崩溃,啧不会刷新缓冲区。如果想要通过输出来找到错误,最好在每次输出后刷新缓冲区。
6. 由于历史原因,IO标准库使用C风格字符串。
string input_file;ifstream infile(input_file.c_str());
7. 关闭流并不能改变流对象的内部状态。如果最后的读写操作失败了,对象的状态将保持为错误状态,即使使用close()函数也不能恢复状态。所以需要调用clear()函数重新恢复流的状态。
8. 打开模式:
app: 每次写之前,找到文件尾。
ate: 打开文件后,定位到文件尾。
trunc: 打开文件时,清空文件内容。
几个组合方法:out | app, in |out等等
9. sstream输入和输出操作可自动把算数类型转化为相应的string表示形式,反之也可以。
int num1=100,num2=200,num3,num4;ostringstream oss;oss<<"num1: "<<num1<<"\n"<<"num2: "<< num2<<endl;istringstream iss(oss.str());string temp;iss>>temp>>num3>>temp>>num4;cout<<num3<<"\t"<<num4<<endl; //输出为100 200
- C++primer 第八章
- c++primer 第八章
- C++primer习题第八章
- C++primer 第八章学习小记
- c primer Plus第八章笔记
- 《C Primer Plus》第八章编程题
- C++Primer读书笔记(第八章)
- c primer plus 第八章答案
- c++primer第五版第八章练习
- C primer plus 第八章 练习1:
- C primer plus 第八章 练习2:
- C primer plus 第八章 练习3:
- C primer plus 第八章 练习4:
- C primer plus 第八章 练习5:
- C primer plus 第八章 练习6:
- C primer plus 第八章 练习7:
- C primer plus 第八章 练习8:
- C++ primer 第八章
- 位运算4
- centos 搭建 ftp服务器
- HDU 1166 敌兵布阵 [线段树-单点更新]
- Linq的增删改查
- Windows Server 2008中安装配置SMTP服务
- C++ primer 第八章
- Android 动画效果 --Animation
- C#中DllImport用法汇总
- 深入研究makefile
- camera带储存,连拍版本
- C#有关HashTable的具体使用用法详解
- java 环境变量的设置
- 富士莱 windows 7 pad
- 硬件逻辑设计方法的教学思考