一;普通引用 |
|||
语法:类型+&+变量名= 被引用变量名 |
|||
在C++内部,引用是一个常量指针,Type & name = Type* const name,因此它的分配内存数与指针一样大 |
|||
引用本质就是对变量取地址 |
|||
int myf1() { int a ; a = 10; return a; }
int& myf2() { int a ; a = 11; printf("a:%d", a); return a; } int main01() { int b1 = myf1(); //ok int b2 = myf2(); //返回了一个值,返回赋给b2 int &b3 = myf2(); //b3 返回值的引用,取局部变量的地址,可能会宕机 printf("b1:%d\n", b1); printf("b2:%d\n", b2); printf("b3:%d\n", b3); //b3是一个引用类型 c++编译器会帮我们执行 *p system("pause"); return 0; } |
|||
引用可以做左值,因此可以实现链式编程 int& mygg() { static int a = 10; printf("a:%d", a); return a; } int* myf3() { static int a = 10; printf("a:%d", a); return &a; } void main() { //mygg() = 11; //mygg(); *(myf3()) = 11; myf3(); system("pause"); }
|
C++引用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.