C++ const关键字 指针和多维数组

C++

const

指针常量和常量指针

顶层const :指针本身是个常量, 一般对应常量指针
int i = 0;
int *const p1 = &i;  顶层const

底层const:指针所指的对象是个常量,一般对应指针常量
const int ci = 42; 顶层const
const int *p2  = &c1;(允许改变P2的值)

函数的传值和传引用

传值:函数形参使用值传递,定义一个临时变量,对实参初始化后,拷贝实参。
传引用:函数形参使用引用传递,即把实参和形参通过引用绑定,提高效率
如果函数无需改变形参值,最好把它声明为常量引用
如 bool A(const int num){}
想多返回值,可以给局部变量加static 

C++ 指针和多维数组 :int *p[4] 和int (*p)[4]区别

int *p[4] ; 整型指针的数组
int arr[3][4];
int (*p)[4] = arr; //指向含有四个整数的数组
p = &arr[2];      //p指向arr的尾元素

C++迭代器 (实质是一个指针)

范围for语句

正常是拷贝,不会改变原数组,要改变元素必须加引用 
也不能在遍历的时候插入元素 即:不能改变遍历序列的大小
string A ("hello world !");
for(auto &c : A)        //c加了引用
	c = toupper(c);
cout<< A;	

递增运算符和解引用运算符 优先级

后置递增运算符优先级高于解引用运算符
前置递增、前置递减和解除引用运算符的优先级相同,以从右到左的方式进行结合。
后置递增和后置递减的优先级相同,但比前置运算符的优先级高,这两个运算符以从左到右的方式进行结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值