再读c++ primer

再读c++ primer

1.        extern的使用 是当在a.cpp文件中想使用b.cpp文件中的全局变量extern_data的时候,当在b.cpp中定义了extern_data,a.cpp使用的时候要在a.cpp文件中声明externint extern_data。

2.        对于数组的初始化: 如果在定义数组的时候,没有初始化数组元素,而且是函数内的数组(不是全局的),那么这个数据中的数据时任意的,但是如果在定义数据同时进行初始化部分元素(1、2、3….)那么那些没有被初始化的数组元素被初始化成0,这个不管这个数组是否是全局的。

3.        int *p = new int 这个p是未初始化的整形指针

int *p = newint()这个p是经初始化的整形指针

4.        c++ 为我们定义了一些调试的宏

__FILE__           文件名

__LINE__          所在行号

__TIME__         文件编译时间

__DATE__         文件编译日期

5.        检测流是否可用状态的方法是把流当成是bool类型

if(cin) while(cin)

流的状态有badbit、failbit、eofbit三种状态。

badbit标志着系统级的故障,如无法恢复读写错误。如果出现了这样的错误,这个流就不可以使用了

failbit这种状态是可恢复的,比如说该输入整数的时候,输入的是字符串

eofbit是在遇到文件结束的时候设置,此时同时还设置了failbit位

6.        顺序容器中的元素顺序是和这个元素的值是不相关的,顺序容器元素的顺序被决定于插入的顺序。

7.        直接对顺序容器对顺序容器进行赋值的话,容器和容器中的元素类型必须一致。     vector<int> a(3,10);

vector<int>b(a);

但是对构造顺序容器使用迭代器的话,容器中的值只要兼容就行。容器类型可以不相同

构造顺序容器还可以使用数组开始指针和数组结束指针。

vector<<vector<int> >  v_v;

list 中的迭代器不支持迭代器去加一个数字。list<int>::iterator it; it += 5(是不支持的)

垂悬指针: 指向曾经存在的对象,但该对象已经不再存在了,此类指针称为垂悬指针。结果未定义,往往导致程序错误,而且难以检测。

顺序容器插入元素:p.insert(p,t)在p前插入值为t、p.insert(p,n,t)在p前插入n个值为t的元素、p.insert(p,b,e)在p前插入迭代器b到迭代器e的元素。

 

8.        c.back()、c.front()返回的是引用,就是迭代器的解引用,这个元素值

c.erase(p)p是一个迭代器指针,指向被删除的元素。

c.erase(b,e)删除b开始 e结束的元素

c.pop_front()删除第一个元素

c.pop_back()删除最后一个元素

9.         string的操作

s.find(args)在s中查找args第一次出现

s.rfind(args)在s中查找args最后一次出现

 最近工作实在是太忙了,简直是被生活的状态

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值