C++ “引用”的初步认识与理解

yx 2018-11-1322:34:55C++ “引用”的初步认识与理解已关闭评论78K阅读2分4秒

在看C++ Primer 这本书时发现其对引用的解读有些许复杂,于是在这里做一个对其的初步理解与总结

引用含义:总结下来也就是某个变量(对象)的另一个名字,对引用的操作也就是对其绑定的变量(对象)进行操作。换个说法就是对引用的操作和其绑定的变量(对象)的操作完全等价。

引用语法

类型  &引用名 = 与其绑定的变量(对象)名;

特别注意

  1. 给引用赋值,实际上是给与其绑定的变量(对象)赋值
  2. 获取引用的值,实际上是获取与其绑定的变量(对象)的值
  3. 以引用作为初始值,实际上是与引用绑定的变量(对象)作为初始值
  4. 引用本身不是一个变量(对象),所以不能定义引用的引用
  5. 定义引用时,程序把引用和他的初始值绑定在一起,而不是把初始值赋值给引用(不知道这么说有没有问题)

引用演示且注意

  1. &不是求地址运算,而是起标识作用
  2. 引用类型必须和其绑定的变量(对象)类型相同
#include 
int main()
{
	int a = 1;
	double &b = a; //这里就是错误的,其类型和所绑定的变量类型不一致
	int &b = a; // 正确
	std::cin >> a;
}
  1. 在声明引用的同时必须对其进行初始化

 

#include 
int main()
{
	int a = 1;
	int &b1; //错误:必须初始化
	int &b1=a; //正确
	b = 2;
	std::cout << &b << std::endl; std::cin >> a;
}

  1. 引用类型的初始值必须是一个对象
#include 
int main()
{
	int a = 1;
	int &b = 2; // 错误
        int &b = a; // 正确
}

世界唯一不变的就是变化,世界唯一可能的就是不可能。
易语言DLL公开程序中无法自定义数据类型解决办法 技术分享

易语言DLL公开程序中无法自定义数据类型解决办法

在编写动态链接库时发现无法公开自定义数据库,只能提供基本数据库且不包含字节集。   其报错为 错误(10063): 被取地址的子程序“Entrance”的参数 2 必须是基本数据类型,且不能...
WindowsAPI易语言内介绍和使用 技术分享

WindowsAPI易语言内介绍和使用

引用百度百科介绍:Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到...
了解和掌握易语言面向对象 技术分享

了解和掌握易语言面向对象

许久许久,忙于工作和结婚无法更新一些实用的技术文章,趁女神节有点业余时间写下这篇“面向对象”技术分享文章 前言  希望你在看完这篇文章后能够了解 面向对象的含义,了解什么是面向对象 知道什么是类,了解...
百度统计/SSP等新建或验证网站失败解决办法 技术分享

百度统计/SSP等新建或验证网站失败解决办法

在这里我必须吐槽一下百度了,竟然不支持HTTPS验证 看到引用了吗? 获取验证文件失败或文件错误,请您确认正确放置后,再次点击“完成验证”按钮” 你没有看错,因为百度不支持HTTPS验证,你需要关掉H...