网站开发 慕课,手机登陆网页版微信,邢台做移动网站公司电话号码,dede装修网站模板1 简介我们都知道#xff0c;平时常用的那些标准流#xff0c;诸如iostream、ofstream、ifstream等等#xff0c;其实都是对应的basic_XXX模版的实例类。 而这些basic_XXX类模版又都是继承自同一个基类模版----basic_ios。2 basic_ios模版定义这个基类模版应该是出于可重用的…1 简介我们都知道平时常用的那些标准流诸如iostream、ofstream、ifstream等等其实都是对应的basic_XXX模版的实例类。 而这些basic_XXX类模版又都是继承自同一个基类模版----basic_ios。2 basic_ios模版定义这个基类模版应该是出于可重用的目的。2.1 成员类型char_type 字符类型即第一个模版参数。char_traits 萃取器即第二个模版参数(默认为位于 string 头文件内的char_traits萃取器)。2.2 构造器该模版的构造函数只需要两个类型charT、traits。 一个是字符类型另一个是字符萃取器两者都只和字符有关。2.3 状态标记函数good 检测流状态是否为good。eof 检测end-of-file 标记位是否被置为1即是否到文件末尾。fail 检测 fail标记位 或者 bad标记位是否被置为1即先前是否有操作失败。bad 检测bad 标记位是否被置为1 即先前是否有操作导致了严重错误(致使流的完整性遭到破坏)。operator !、operator bool 检测流的状态是否正常即是否有操作失败或导致了严重错误(fail or bad)。rdstate、setstate 返回或者设置所有状态标记位。clear 清楚状态标记位。2.4 格式化函数coptfmt 将给定的basic_ios对象的内部格式copy给自身。fill 返回、设置填充字符(当设定的宽度大于实际输出宽度时才会出现填充情况)。2.5 其他函数exceptions 返回、设置异常掩码(设置之后对应的状态标记位被置1时会抛出异常)。imbue 将locale灌输进流这个调用会触发imbue_event事件。tie 返回先前的关联输出流、设置新的关联输出流。The tied stream is an output stream object which is flushed before each i/o operation in this stream object. 也就是说每次自身的输入输出操作发生前该tied的流都回把缓冲区的内容输出。 默认情况下标准cin和cerr流与cout相关连所以每次在键盘输入时“黑框”都回把输入显示出来。rdbuf 返回、设置basic_ios内部的stream buffer。narrow 将传入字符(通常是宽字符)窄化(narrow)成自身模版类的char_type类型字符。widen 将传入字符宽化(widen)成自身模版类的char_type类型字符(通常是宽字符)。3 ios_base类这个类很特殊它是basic_ios类模版的基类并且它的构造函数是私有的。 这就意味着它在设计之初就是内部使用只用于派生不能被用户声明使用。3.1 格式化函数flags 返回或者重新设置所有格式标记符。setf 设置特定类别的格式标记符。unsetf 清除特定的格式标记符。precision 设置浮点数精度。width 设置域宽。3.2 本地化函数imbue “灌入”区域设置。getloc 返回当前区域设置。3.3 有关internal array的函数该类内部维护了一个internal extensible array作为通用数组并且定义了三个公有函数帮助用户使用它们。xalloc(静态) 返回一个extensible array的新下标。iword 返回数组中对应给定下标的long元素。pword 返回数组中给定下标对应的元素指针(void*)。3.4 事件支持ios_base支持事件这一概念但只支持有限的事件。3.4.1 event枚举类copyfmt_event 当调用copyfmt时发生。erase_event 当stream的析构器被调用时。imbue_event 当调用ios_base::imbue时。3.4.2 event_callback类型ios_base以回调函数的形式来支持事件。 回调函数必须满足以下类型void (*event_callback) (event en, ios_base obj, int index); 其中obj是触发事件的stream对象index是注册回调函数时的传入的index参数。3.4.3 注册事件回调函数register_callback3.5 其他3.5.1 其他函数sync_with_stdio(静态) 是否同步C输入输出流和C输入输出对象(stdin、stdout、stderr)。3.5.2 其他成员类型fmtflags 流格式化标记符类型。iostate 流状态标记符类型。openmode 流打开模式标记符类型。seekdir 流定位方向标记符类型。3.5.3 其他成员类failure 继承自std::exception的异常类用来作为输入输出流的基本异常类。Init 八个标准流实例化的控制器。4 Error Reporting该头文件也提供了一定的错误处理功能。4.1 io_errc 枚举类这个枚举类定义了input/output 的错误情况。 C标准只要求该枚举类定义stream枚举但具体的库可以自己实现额外的枚举。4.2 make_error_code函数该函数从给定的io_errc枚举构建出错误码(error_code对象)。4.3 make_error_condition函数该函数从给定的io_errc枚举构建出错误情况(error_condition对象)。4.4 iostream_category函数返回一个error_category对象该对象类型与io_errc枚举类对应的error_condition的错误类别相关联。5 Manipulators(全局函数)boolalpha 将bool变量字符化(包括输入输出)即1-true0-false。showbase 输出时显示数字的前置基数即十六进制-0x 八进制-0 十进制无前置基数。showpoint 显示浮点数的小数点。showpos 显示正整数的“”号。skipws 跳过所有前置的white-space。unitbuf 每次向流插入内容时输出缓冲区的内容。uppercase 所有小写字母都用大写替代。dec、hex、oct 分别用十进制、十六进制、八进制来表示整数。fixed、scientific 分别用固定点小数法、科学计数法来表示浮点数。internal、left、right 分别使数字居中、左对齐、右对齐其中居中时会根据情况适当的插入填充字符。Cplus;plus; 头文件系列lpar;iomaniprpar;1. 简介 该头文件定义了一些参数化的操纵器(manipulatators),注意ios头文件也定义了一些. 2. maniapulators 2.1 C98 resetiosflags : 重置 ...Cplus;plus; 头文件系列lpar;arrayrpar;注意,该头文件仅在C11中标准才开始出现. 简介 与语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性: 顺序的(sequence) 内存连续的(contiguous stora ...Cplus;plus; 头文件系列lpar;queuerpar;简介 这个头文件定义了两个跟队列有关的类----quque.priority_queue,分别实现的是队列 和 优先队列这两个概念. 但是与这两个类模版与其它类模版(vector.array等)最大的 ...Cplus;plus; 头文件系列lpar;stackrpar;简介 该头文件只含有一个类模版stack, 它实现栈的概念,是一个容器适配器(说实话,在写这篇随笔之前我都不知道有这么个类模版). 栈 栈只有一个重要的特性: LIFO(last-in first-o ...Cplus;plus; 头文件系列lpar;vectorrpar;简介 vector头文件包含vector的类模版以及该模版的显示特化版本vector bool . vector是C容器库中非常通用的一种容器,如果你不知道该决定使用哪一种容器,或 ...Cplus;plus; 头文件系列lpar;maprpar;简介 该头文件包含两个概念相似的容器----map.multimap. 而这两个容器反映的概念就是 映射. 这两个容器 相同 的属性有: 关联性 映射 动态增长 键(Key)唯一性 这两个不相同的属性 ...Cplus;plus; 头文件系列lpar;unorderedlowbar;map、unorderedlowbar;setrpar;简介 很明显,这两个头文件分别是map.set头文件对应的unordered版本. 所以它们有一个重要的性质就是: 乱序 如何乱序 这个unorder暗示着,这两个头文件中类的底层实现----Hash ...Cplus;plus; 头文件系列lpar;iteratorrpar;简介 该头文件围绕迭代器展开,定义了一系列与迭代器有关的概念,但最最最重要的一点就是----它和其它容器一起实现了C容器的Iterator设计模式. Iterators are a general ...Cplus;plus; 头文件系列 lpar;algorithmrpar;简介 algorithm头文件是C的标准算法库,它主要应用在容器上. 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性. 因此,任何 ...随机推荐抽取的BaseFragment和LoadingPage[BaseFragment]: public abstract class BaseFragment extends Fragment { /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ...IIS 8 下使用 WCF按照以下步骤添加后,IIS8即支持WCF服务. 首先添加MIME类型 扩展名“.svc”,MIME类型 “application/octet-stream” 2. 然后在“Handler Mappin ...OutputCache 如何使用本地缓存 【转】注意!ASP.NET MVC 3 的一个 OutputCache 问题 在用 ASP.NET MVC 3 重写博客园网站首页时,特地留意了一下这个缓存问题,通过这篇博文分享一下. 在 ASP.NE ...ios 应用程序图标、启动画面、itune图标设置http://blog.sina.com.cn/s/blog_4cd8dd1301014hfz.html 先说说应用程序图标,一般有下面几种: Icon.png(57x57) - Homescreen ...Area Under roc Curvelpar;AUCrpar;AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...docker cmd list436 wget -qO- https://get.docker.com/ | sh 437 sudo apt-get update 438 sudo apt-get install -y docke ...【JS面试向】选择排序、桶排序、冒泡排序和快速排序简介新年伊始,又到了金三银四的时候了.面对前端越来越多的算法面试题,我简单的整理了一下几种比较常见的数组排序方式,分别介绍其基本原理和优劣势.(ps:才疏学浅,希望大家可以在issues下面指出问题) 选 ...Linux之定时器与时间管理 【转】转自:http://blog.chinaunix.net/uid-23228758-id-154820.html 定时器与时间管理: 次,为一秒.一般的情况下编程者不要改变这个值,因为内核编很多代码都 ...尝试利用slmail的漏洞来getshell