C++中引用&与取地址&的区别分析

 更新时间:2014年09月03日 09:17:30   投稿:shichen2014  
这篇文章主要介绍了C++中引用&与取地址&的区别,有助于C++初学者更好的掌握指针的概念及用法,需要的朋友可以参考下

C++中的引用&与取址&是很多初学者经常容易出错的地方,今天本文就对此加以分析总结,供大家参考之用。

具体而言,一个是用来传值的 一个是用来获取首地址的

&(引用)==>出现在变量声明语句中位于变量左边时,表示声明的是引用.
    
例如:

int &rf; // 声明一个int型的引用rf

&(取地址运算符)==>在给变量赋初值时出现在等号右边或在执行语句中作为一元运算符出现时表示取对象的地址.

在C++中,既有引用又有取地址,好多人对引用和取地址不是很清楚,因此也无法区分。其实他们的区别可以用一句话概括:和类型在一起的是引用,和变量在一起的是取址。下面我们通过实例具体了解一下

1)引用在赋值=的左边,而取地址在赋值的右边,比如:

int a=3;
int &b=a;    //引用
int *p=&a;    //取地址

2)和类型在一起的是引用,和变量在一起的是取址。 举例同样如上,还有下例:

int function(int &i)
{
 
} //引用

3)对于vector,上面2条同样适合

vector<int> vec1(10,1); //initialize vec1: 10 elements, every element's value is 1
vector<int> &vec2 = vec1; // vec2 is reference to vec1
vector<int> *vec3 = &vec2; //vec3 is addresss of vec1 and vec2

希望本文所述对大家C++程序设计的学习能够有所帮助。

相关文章

  • 浅析C++中前置声明的应用与陷阱

    浅析C++中前置声明的应用与陷阱

    以下是对C++中前置声明的应用与陷阱进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • C语言简明分析指针与引用的具体用法

    C语言简明分析指针与引用的具体用法

    指针是一个实体,引用是一个别名;在汇编上,引用的底层是以指针的方式实现的,定义一个引用变量,相当于定义了一个指针,然后把引用内存的地址写到这个指针里面,当通过引用变量修改它所引用的内存时,它先访问了指针里面的地址,然后在这个地址的内存里面对值进行修改
    2022-05-05
  • C++ decltype 说明符

    C++ decltype 说明符

    这篇文章主要介绍了C++ decltype 说明符,检查实体的声明类型,或表达式的类型和值类别。下面我们来看看文章中的具体内容吧

    2021-12-12
  • VSCode插件开发全攻略之跳转到定义、自动补全、悬停提示功能

    VSCode插件开发全攻略之跳转到定义、自动补全、悬停提示功能

    这篇文章主要介绍了VSCode插件开发全攻略之跳转到定义、自动补全、悬停提示,需要的朋友可以参考下
    2020-05-05
  • VC WinExec打开指定程序或者文件的方法

    VC WinExec打开指定程序或者文件的方法

    使用WinExec命令打开指定程序或者文件的参数说明
    2008-11-11
  • C语言实现简单图书管理系统

    C语言实现简单图书管理系统

    这篇文章主要为大家详细介绍了C语言实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 深入了解C++中常用的三个智能指针

    深入了解C++中常用的三个智能指针

    C++是一门强大的编程语言,但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力,而且容易出错。因此,C++中引入了智能指针这一概念,以更好地管理内存,下面就来详细讲讲C++中常用的三个智能指针吧
    2023-05-05
  • c++中比较好用的“黑科技”

    c++中比较好用的“黑科技”

    这篇文章主要介绍了c++中比较好用的“黑科技”,一些常用小编没有给大家罗列出,主要给大家介绍了sort函数,需要的朋友可以参考下
    2020-02-02
  • C语言实现餐厅点餐系统

    C语言实现餐厅点餐系统

    这篇文章主要为大家详细介绍了C语言实现餐厅点餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++内存四区之代码区、全局区、栈区和堆区

    C++内存四区之代码区、全局区、栈区和堆区

    C++编译器会把代码直接分为四个小区,弄懂这四小区对我们理解内存有所帮助,所以下面这篇文章主要给大家介绍了关于C++内存四区之代码区、全局区、栈区和堆区的相关资料,需要的朋友可以参考下
    2021-07-07

最新评论