C++笔记之谈谈【引用】的那些事
程序员文章站
2022-03-02 21:13:55
...
一. 引用的概念
闲扯:在上大学的时候,学习C语言,就被指针折磨的死去活来,现在想想,老师怎么就那么不懂我们的心,把我们带上了不归路。
引用是C++中较C新增的功能,他是对指针的二次封装(重要)。
变量名,本事是一段内存的引用,即别名。此处引入的引用,是为已有变量起一个别名。
声明如下:
int m;
int &rm = m;
二.特点
1. 类型与原类型保持一致,且不分配内存,与被引用的变量有相同的地址。
此特点可以用于函数的形参定义;
int GetContent(char* &ch,int& n)
2. 声明的时候必须初始化,一经声明,不可更改。
这里说的更改是更改内容地址,即声明之后,内容地址的不变的;
int m,n;
int &rm = m;
int &rm = n; // 错误,不可更改原有的引用关系
3. 可以对引用再次引用,多次引用的结果,是某一个变量具有多个别名。
int m;
int &rm = m;
int &&rrm = rm;
4. &符号前有数据类型时,是引用,其他的情况皆为取地址。
int m;
int &rm = m; // &为引用
cout<<"&rm = "<<&rm<<endl; // &为取地址
前方高能请注意:
引用的本质是指针,C++对裸露的内存地址(指针)做了一次包装,又取得指针的优良特性,所以,在对引用取地址,建立引用的指针没有意义了。
即,
♦ 没有引用的引用
♦ 没有引用的指针
♦ 没有引用的数组
上一篇: scrapy item pipeline
下一篇: scrapy_items