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

C++学习笔记(三)

2015-07-30 15:42 387 查看

21. 数组下标

C++中,数组下标的正确类型为 size_t

22. void*指针

Void*指针支持的操作:与另一个指针比较;向函数传递或者从函数返回;给另一个void*指正赋值。

特别的,不允许使用void*指针操纵它所指向的对象。

23. 指针和引用

两个区别:引用总指向某一个对象:定义时没有初始化是错误的;赋值行为差异:给引用赋值修改的是该引用所关联的对象的值。

24. 指针和const限定符

const int *p; 指向的对象是const的;不能把const对象赋值给一个普通指针,允许把非const对象赋值给指向const对象的指针。也可写为 int const *p。底层const。

int *const p; 指针为const的。顶层const.

特殊的:typedef

typedef string *pString;
const pString p;

此时相当于:string *const p; //此处的const是限定指针的,而不能简单的进行字面扩展。

25. 位操作符

<<(左移):在右边补0

>>(右移):无符号数,左边补0,有符号数则需要依具体情况而定。

移位的右操作数不可以是负数,而且必须是小于左操作数位数的值,否则,操作未定义。

26. 自增和自减操作符

只有在必要时才使用后置的自增或者自减操作符。后置方式需要先保存原来值。

27. sizeof操作符

将sizeof应用于表达式上,将获得该表达式的结果的类型长度,并不计算表达式的值。

对char类型或者值为char类型的表达式做sizeof操作保证得1。

对引用类型求sizeof将返回存放此引用类型对象所需得内存空间大小。

对指针做sizeof将返回指针所需要的内存大小,对指针解引用返回对象所需内存大小。

对数组做sizeof等效于类型乘以个数。

28. 异常

throw表达式:抛出异常

throw runtime_error(“….”);    //抛出标准异常
try{
//抛出异常}
catch(runtime_error err)
{ cout<<err.what()<<endl;}      //输出异常信息


29. 标准异常

1) exception头文件定义了常见的异常类,类名为exception

2) stdexcept头文件定义了几种常见的异常类,包括:

exception:最常见问题

runtime_error:运行时错误

rang_error:越界

overflow_error:计算上溢

underflow_error:计算下溢

……

30. 数组形参

直接用数组名传递的是指向数组第一个元素的指针,当不能修改数组元素时声明为指向const对象指针。

const int*

特别的:通过引用传递数组

形参是数组的引用,编译器不会将数组实参转化为指针,此时编译器将检查实参大小和形参是否匹配。

写法 void fun(int (arry&) [10]); //括号必须,下标操作符有更高优先级
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: