学习C++ Primer 的个人理解(八)
结束了第一部分,在最后的第七章,我只简单的总结了一下,因为后面还会更详细的说明有关类的内容。而且说实在的这一张的内容让我很不舒服,验证了本书实际上有许多内容是作者的学生一起拼凑而成的。第七章结构给我感觉非常混乱,不断地“再探”而看不出理由,并没有前置只是需要了解。
第八章是IO库
IO类
ifstream 和 istringstream 都继承自 istream。 所以我们可以想使用istream一样使用ifstream 和 istringstream。
IO对象无拷贝或赋值
由于不能拷贝IO对象,所以我们也不能将形参或返回类型设置为流类型。
进行IO操作的函数通常以引用方式传递或返回流。
读写一个IO对象会改变其状态,因此传递和返回的引用不能使const的。
条件状态
iostate类型,提供了表达流状态的完整功能。
管理输出缓冲
导致缓冲刷新的原因有很多:
1,程序正常结束。
2,缓冲区满了
3,使用endl
4,可以使用unitbuf设置流的内部状态,来清空缓冲区。对cerr的设置是unitbuf的。
5,输出流被关联至另一个流。
刷新输出缓冲区
endl : 加一个换行符,并且刷新缓冲区
flush: 不加换行符,刷新缓冲区,不附加任何额外字符
ends: 加一个空字符,并且刷新缓冲区
unitbuf
如果想在每次输出操作后都刷新缓冲区,我们可以使用unitbuf操作符。他告诉流接下来的每一次操作都进行一次flush。而nounitbuf操作符则重置流。
cout << unitbuf; 所有输出操作后都会立即刷新缓冲区
cout << nounitbuf; 回到正常的缓冲方式
文件输入输出
ifstream 从一个给定文件读取数据:
ofstream 向一个给定文件写入数据
fstream 读写指定文件
string流
sstream头文件定义了三个类型来支持。
istringstream 从 string 读取数据,ostringstream 向 string 写入数据, stringstream 可读写string。
学习C++ Primer 的个人理解(八)的更多相关文章
- 学习C++ Primer 的个人理解(一)
		
<C++ Primer>这本书可以说是公认的学习C++最好的书,但我觉得不是特别适合作为教材,书中内容的顺序让人有些蛋疼.我个人认为初学此书是不能跳着看的.如果急于上手的话,我更推荐< ...
 - 学习C++ Primer 的个人理解(九)
		
这一章介绍顺序容器,在之前的第三章中,了解到的vector就属于顺序容器的一种. 一个容器就是一些特定类型对象的集合. 除了vector,还有哪些顺序容器? vector: 大小可变,随机访问的速度很 ...
 - 学习C++ Primer 的个人理解(三)
		
第三章,主要内容是字符串和数组.感觉作者的意图是希望读者可以早一点可以写出简单的小程序,并且可以早点接触迭代器这种思想. 在我看来,这种内容的难度并不大. 对于编程来说,最重要的应该是思想,类似vec ...
 - 学习C++ Primer 的个人理解(二)
		
本身就一定基础的读者我想变量常量这些概念应该已经不是问题了.但是本章还是有几个重点,需要特别留意一下的: 1.初始化和赋值是不同的操作 2.任何非0值都是true 3.使用新标准列表初始化,在有丢失精 ...
 - 学习C++ Primer 的个人理解(零)
		
由于自己看书之后经常容易忘记细节,所以写在博客上让我自己的思路更加清晰一些. 我的博客仅仅只是将书中的内容概括一下,有一些不好理解的部分我会用我自己理解的方式使用大白话写出来. 仅此而已.
 - 学习C++ Primer 的个人理解(十二)
		
动态内存与智能指针 在C++中, 动态内存用 new来分配空间并返回一个指向该对象的指针 用delete来销毁. 由于手动的对动态内存进行操作容易出现问题.所以新的标准库提供了两种智能指针. 智能指针 ...
 - 学习C++ Primer 的个人理解(十一)
		
关联容器 就像是个字典, 其元素是 键 - 值 对. 关键字起到索引作用. 有序: map:关联数组:保存 健-值 对 set : 关键字既是值. multimap : 关键字可重复出现的map mu ...
 - 学习C++ Primer 的个人理解(十)
		
标准库没有给每个容器都定义成员函数来实现 查找,替换等操作.而是定义了一组泛型算法,他们可以用于不同类型的元素或多种容器类型. 迭代器令算法不依赖与容器 算法永远不会执行容器的操作 算法本身不会执行容 ...
 - 学习C++ Primer 的个人理解(七)
		
类,后面还有两章是介绍有关于类的内容的.这一张依然只是个概括.但也已经将大致用法介绍完了. 重点如下: 1.成员函数的声明,必须在类的内部. 2.引用const成员函数 我们知道成员函数中有一个名为t ...
 
随机推荐
- Float(浮动)
			
一.什么是浮动? CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列. 二.浮动元素的特点 元素浮动后会自动变成行块元素 浮动元素的父元素高度宽计算将忽略浮动子元素 浮动 ...
 - Xcode7如何添加pch文件
			
我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间.但是没有 ...
 - Android设计模式系列--观察者模式
			
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下.本文以AbstractCursor为例子,展开分析.观察者模式,Observer Patter ...
 - cocos2d-x UserDefault
			
转自:http://blog.csdn.net/yanghuiliu/article/details/6912612 正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserD ...
 - cocos2d-x Animation
			
转自:http://codingnow.cn/cocos2d-x/810.html 这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来.1. 首先来了解一下相 ...
 - PHP 文件包含之文件路径截断(转)
			
PHP 文件包含之文件路径截断 以下是网络摘要: 1. 本来还以为挖到金矿了,跟黑哥交流后发现只能应用于Win32平台,使这个BUG的威力暴减,基本没有太大危害了,因为在WIN32平台使用PHP的实在 ...
 - 大作业 XXX大学 课程管理系统
			
#include<stdio.h> #include<iostream> #include<string.h> #include <fstream> # ...
 - IOS开发之类和对象
			
IOS开发之类和对象 OC和Java一样都是一种面向对象的语言,从今天開始我和大家一起来系统学习这样的面向对象的语言oc,欢迎大家什么问题和我一起探讨和学习. OC定义类有两个步骤:1.接口部分(通俗 ...
 - Spring技术内幕:Spring AOP的实现原理(二)
			
**二.AOP的设计与实现 1.JVM的动态代理特性** 在Spring AOP实现中, 使用的核心技术时动态代理.而这样的动态代理实际上是JDK的一个特性.通过JDK的动态代理特性,能够为随意Jav ...
 - windows远程关机重启
			
windows远程关机 http://lsscto.blog.51cto.com/779396/245681 shutdown http://baike.baidu.com/view/596875.h ...