您的位置:首页 > 编程语言 > C语言/C++

C++Primer Plus 基础复习

2016-06-08 00:00 597 查看
第三章 数据处理
1.一个典型的整型溢出行为



2.

第四章 复合类型

1. c风格字符串

char dog[3] = {'b','e','c'}; //不是字符串

char dog[3]={'a','b','\0'};//是c风格字符串

若用" ",则字符串隐式调用\0

char fils[11]="dog";

char fils[]="buddles";

将数组初始化为字符串,多出来的数组空位将会被设置为\0

比如, char boss[8] = "Bozo";

内存中为 B o z o \0 \0 \0 \0 八个数组位都被初始化完全.

使用cstring.h提供的string类型将避免许多上述不便

2.指针

(1).指针高效而危险,在指针使用*引用运算符之前,应当将指针初始化为一个确定的合适的地址.

(2).new与delete

规则:

1.不要使用delete释放不是new分配的内存

2.不要使用delete释放同一个内存两次

3.如果用new[]为数组分配内存,(int *psome = new int[10];)则应该使用delete [] 释放.

4.对空指针使用delete是安全的.

3.数组

数组与指针最大的不同在于数组不能自加运算.

4.自动存储 静态存储 动态存储

(1).自动存储

在函数内部定义的常规变量使用自动存储空间,在所属的函数被调用时产生,函数结束时消亡.自动存储通常在栈中

(2).静态存储

静态存储是整个程序执行过程都存在的存储方式,两种方式使用,在函数外边定义.或者,使用static关键字.

(3).动态存储

使用new和delete管理一个内存池,在C++中称作自由存储空间或者堆. new和delete使得程序员有了更大的权限,但是亦导致了占用的自由存储区内存不连续.这使得跟踪新分配内存的位置更加困难.

第五章 循环和关系表达式

1.多条件for循环

for(int j=0,i=10;j<i;--i,++j){} 利用逗号达到多条件的目的

2.字符串输入的的分界处理:getline(cin,string,':'); 最后一个参数为 分界符 一定要注意
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: