2day
1.引用是什么:给变量空间取别名
int main()
{
int a = 0;
int& b = a;
b = 100;
cout << a << endl;
return 0;
}
2.引用的注意
使用引用类型可以像指针那样访问 只能赋值一次不能重新赋值
必须初始化
必须引用合法的空间
引用类型无法修改指针的指向地址
int main()
{
int a = 0;
int* b = &a;
b = (int *)0x123;//会产生不安全
*b = 111;
cout << b << endl;
cout << a << endl;
return 0;
}
3.数组引用
三种引用方法
int arr[] = { 1,2,3,4,5 };
//1.
typedef int(MY_arr)[5];
MY_arr& arr = arr;
//2.
int(&c)[5] = arr;
//3.
typedef int(&MY)[5];
MY c = arr;
4.引用的本质
5.const和define的区别
define ZE 100//类型固定
const int B = 1;//类型随时可以改
6.指针引用
const char p= "翠花";
p = "小学生";
const char& p1 = p;
p1 = "cx";
cout << p1 << endl;
cout << p << endl;
return 0;
被调函数和主调函数 --字面意思
8.常量引用 bool类型
常量如此 bool类型 非0为真 0为假
总结 引用无法改变 指针的指向 使得指针不会乱指 提高了安全性
9.内联函数
速度快
define arr(a, b) a+b; 如这个函数一样
inline 申请成为内联函数 还得看编译器采纳吗
1.内联函数 以及 宏函数
2.什么情况下不会成为内联函数
1.语句块过大
2.过多条件判断
3.函数体取址