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,':'); 最后一个参数为 分界符 一定要注意
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,':'); 最后一个参数为 分界符 一定要注意
相关文章推荐
- C++Primer Chapter3课后习题
- 学长的训诫C++
- #1094 : Lost in the City 找到几个当年c语言留下的坑
- 函数指针的正确理解 from C++ Primer Plus P242
- Michael &Scott 无锁队列 C++ 实现
- C++中的虚函数详解
- NDK工具使用,JNI开发
- C++实现多线程全局内存池
- Leetcode_c++:Construct Binary Tree from Preorder and Inorder Traversal(105)
- c++实验7--最大公约数和最小公倍数
- Leetcode_c++: Subsets II (090)
- c++/c 产生随机数
- Leetcode_c++: Merge Sorted Array (088)
- c语言实例之函数求参顺序
- 差分约束系统详解 BZOJ 2330 糖果
- C++ error:LNK2005 已经在*.obj中定义
- Leetcode_c++: Maximal Rectangle (085)
- c++:工资类
- Rectangle Area
- 那些年C语言老师没有教给你的东西(一)