博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ primer 第八章
阅读量:4036 次
发布时间:2019-05-24

本文共 880 字,大约阅读时间需要 2 分钟。

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: "<
<<"\n"<<"num2: "<< num2<
>temp>>num3>>temp>>num4;cout<
<<"\t"<
<

 

转载地址:http://egfdi.baihongyu.com/

你可能感兴趣的文章
PowerDesigner创建物理数据模型(PDM)
查看>>
PowerDesigner:导入SQL脚本
查看>>
PowerDesigner使用教程
查看>>
eclipse中使用Ctrl+Alt+↑或↓时屏幕旋转的问题
查看>>
freemarker 数字格式化(金额格式化)
查看>>
eclipse中Deployment Assembly选项设置说明
查看>>
maven项目报:Project configuration is not up-to-date with pom.xml. Run Maven->Update Project
查看>>
pom.xml中maven-compiler-plugin插件配置的使用
查看>>
使用maven-war-plugin 对Maven项目进行动态打包
查看>>
spring定时任务配置
查看>>
Log4j2 配置笔记(Eclipse+maven+SpringMVC)
查看>>
java设计模式之简单工厂模式
查看>>
struts2中constant参数设置
查看>>
Struts2中struts.multipart.maxSize设置
查看>>
CheckStyle插件在eclipse中的安装及配置
查看>>
PowerDesigner 导入数据库建表SQL脚本生成物理模型
查看>>
idea的xml配置中url显示:URI is not registered ( Setting | Project Settings | Schemas and DTDs )
查看>>
如何修改源码>重新打包>替换源文件
查看>>
@Slf4j注解的使用
查看>>
SpringBoot通过配置devtools实现热部署
查看>>