8.1.8.2 这一章不咋会啊.. istream &read(istream &is) { int a; auto old_state=is.rdstate(); is.clear(); is>>a; is.setstate(old_state); return is; } int main() { read(cin); ; } 8.3 读到eof或错误类型的时候 8.4 #include<fstream> using namespace std; int mai…
IO类对象不允许进行拷贝操作. IO类中定义后一些函数和标志,可以用于访问和操作流的状态. 一旦流发生错误,后续IO操作都是失败的. 读写IO对象会改变IO对象的状态. 每个输出流都管理一个缓冲区. 缓冲被刷新的原因有如下几种: 1.程序正常结束. 2.缓冲区满 3.endl刷新缓冲区 4.使用操作符unitbuf 5.被关联到另一个流 输入或输出流可以被关联到另一个输出流,不允许关联到输入流. 每个流最多同时关联到一个流,一个流可以被多个流关联. 文件流是将抽象流与文件关联起来,对流的操作就能…
6.1 实参是在函数调用处填写的参数.形参是在函数体使用的参数. 实参是形参的初始值. 具体参见:http://blog.163.com/zhengguo_li/blog/static/703014802013423501214/ 6.2 (a)该函数试图返回一个局部变量.当函数调用结束后,s所占内存将会被释放,所以返回s是无效的 (b)该函数缺少返回值 (c)定义了两个同名的形参 (d)后面的语句应该写在{}里 6.3.6.4 using namespace std; int fact(int…
本章问题 1.char *p="hello world";与char p[]="hello world"的问题. 简单说前者是一个指向字符串常量的指针,后者是一个分配了相应内存并被初始化的字符数组.前者不可改,后者可改. 详细可参阅这里http://www.cnblogs.com/Logic0/archive/2009/08/01/1850337.html 2.指针数组和数组指针. 指针数组即指针的数组,int *p[3],它包含了p[0],p[1],p[2]这三个…
从今天开始在博客里写C++primer的文字.主要以后面的习题作业为主,会有必要的知识点补充. 本人也是菜鸟,可能有不对之处,还望指出. 前期内容可能会比较水. 1.1略 1.2略 1.3 cin和cout分别是istream和ostream的对象. #include<iostream> using namespace std; int main() { cout<<"Hello,world"<<endl; ; } 1.4 #include<i…
7.1.7.2.7.3 #include<iostream> #include<cstdio> #include<vector> #include<string> using namespace std; struct Sales_data { string bookNo;//isbn编号 unsigned units_sold=;//该书的销量 double revenue=0.0;//该书的总销售收入 string isbn()const {return…
5.1 空语句只有一个";".如果什么也不想做可以使用空语句. 5.2 用花括号{}括起来的叫块,也叫复合语句.有多条语句作用在同一个作用域时,需要用花括号括起来. 5.3 降低了. 5.4 (a)每次迭代时候会初始化iter,但是iter缺少初值,所以这段代码根本不会通过编译.另外这里的括号需要一个bool类型的,而定义迭代器根本不会返回一个bool类型.假如上面那些问题都可以通过,每次迭代都会初始化这个iter,会导致死循环. (b)我试了一下编译未通过是因为没找到适合的find函…
4.1 105 4.2 *vec.begin()=*(vec.begin())//先调用点运算符,再解引用 *vec.begin()+1=(*vec.begin())+1//先解引用,再加一 4.3略? 4.4 (12/3*4)+(5*15)+(24%4/2)=91 4.5 (a)-86(b)-16 (c)0 (d)0 4.6 n%2 4.7 溢出:计算结果超出该数据类型所能表示的范围 2147483647+1 1U-2 ... 4.8 比较低.. 4.9 首先判断cp是否为空指针,若非空指针则…
2.1 int,long long ,short 可表示范围和占用内存空间不同.具体与计算机有关. 无符号类型只能表示0和正数,带符号类型可以表示负数,0,正数. float是单精度,一般占用4个字节,double是双精度,一般占用8个字节,它们可表示的数据范围也不相同. 2.2 利率用double,本金和付款用int 2.3 unsigned u=,u2=; cout<<u2-u<<endl; cout<<u-u2<<endl; ,i2=; cout<…
第 8 章 IO库 标签: C++Primer 学习记录 IO库 第 8 章 IO库 8.1 IO类 8.2 文件输入输出 8.1 string流 8.1 IO类 IO对象无拷贝或赋值,因此不能将形参或返回类型设置为流类型,进行 IO操作的函数通常以引用方式传递和返回流.又因为读写一个流会改变其状态,所以不能是 const引用! IO操作因为需要频繁地与外部设备进行数据传递,很容易出错.IO库中设置了一些函数和标志来操纵流的条件状态. badbit,不可恢复的错误 failbit,可恢复的错误…