《C++标准程序库》学习笔记11 — 第十三章

这一章是比较重要,也比较实用的一章,讲了输入输出的一些基础,比较系统。

  • 1.(P584)

按照面向对象原则,stream是由某个类别定义出来的具有特定性质的对象。

输出操作被解读为“数据流入stream”

输入操作被解读为“数据流出stream”

下图是Stream Class的阶层体系:

stream

  • 2.(P596)

如果一个型别为void*的参数被传递至output操作符,其地址将被打印出来。

eg.

1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
 
int main()
{
	freopen("out.txt", "w", stdout);
	char* cstr = "hello";
	cout << "C-string " << cstr << " is located at address: " << static_cast<void*>(cstr) << endl;
	return 0;
}

输出:

C-string hello is located at address: 00417828

  • 3.(P597)

Stream的状态

状态有:goodbit, eofbit, failbit, badbit(badbit代表比failbit更严重的错误)

一些处理状态的成员函数: good(), eof(), fail(), bad(), rdstate(), clear(), clear(state), setstate(state)

用于布尔表达式的stream操作符: operator void* () ,  operator !()

  • 4.(P607)

(以下参数均未写出)

用于输入的成员函数:get(), getline(), read(), readsome()

用于输出的成员函数:put(), write(), flush()

  • 5.(P615)

格式化

这一节很重要,也很强大。都比较常用,一定要记住并且熟练掌握。

  • 6.(P627)

文件存取

同第五点,要熟练掌握!

因为时间的原因,这一章大概看到645面,后面的包括国际化(第十五章)暂时不准备看,等以后有时间的再看。

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

《《C++标准程序库》学习笔记11 — 第十三章》有3个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注