1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //引用的本质
- //本质 : 引用的本质在C++内部实现是一个指针常量
- #if(0)
- #include <iostream>
- //发现是引用,替换为 int* const ref = &a;
- void func(int& ref)
- {
- ref = 100; //ref是引用,转换为 *ref = 100
- }
- int main()
- {
- int a = 10;
-
- //自动转换为 int* const ref = &a ; 指针常量是指针指向不可以更改,也说明为什么引用不可更改
- int& ref = a;
- ref = 20; //内部发现ref是引用,自动帮我们转换为: *ref = 20;
- std::cout << "a : " << a << std::endl;
- std::cout << " ref : " << ref << std::endl;
- func(a);
- system("pause");
- return 0;
- }
- //C++推荐引用技术,因为语法方便,引用本质是指针常量,但是左右的指针操作编译器都帮我们做了
- #endif
|