面向对象程序设计-C++_课时21引用
Posted 邓戈麟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象程序设计-C++_课时21引用相关的知识,希望对你有一定的参考价值。
数据类型 & 别名=对象名;
1 #include <iostream> 2 using namespace std; 3 4 int * f(int * x) 5 { 6 (*x)++; 7 return x; 8 } 9 10 int & g(int & x) 11 { 12 x++; 13 return x; 14 } 15 16 int x; 17 18 int & h() 19 { 20 int q;//!return q 21 return x; 22 } 23 24 void main() 25 { 26 int a = 0; 27 std::cout << a << std::endl;//0 28 29 f(&a);//丑陋,但是清晰 30 std::cout << a << std::endl;//1 31 32 g(a);//清晰,但是隐蔽,可以修改a 33 std::cout << a << std::endl;//2 34 35 h() = 16;//返回值是引用,因此可以做左值 36 std::cout << a << std::endl;//2 37 38 std::cout << x << std::endl;//16 39 40 system("pause"); 41 }
不能声明引用的引用
可以声明对指针的引用,但不能声明指针对变量的引用
int & * p;//illegal
int * & p1=p2;//ok
void f(int * & p);
p是引用,引用了一个指向int类型的指针
可以声明指向引用的指针
没有引用的数组(数组元素不能是引用)
但是可以引用一个数组
以上是关于面向对象程序设计-C++_课时21引用的主要内容,如果未能解决你的问题,请参考以下文章
面向对象程序设计-C++_课时28静态对象_课时29静态成员
面向对象程序设计-C++_课时19const_课时20不可修改的
面向对象程序设计-C++_课时30运算符重载——基本规则_课时31运算符重载——原型_课时32运算符重载——赋值_课时33运算符重载——类型转换