问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++面试常用问题:"引用"与指针的区别

发布网友 发布时间:2024-05-03 03:20

我来回答

1个回答

热心网友 时间:2024-05-11 22:30

C++面试常用问题:"引用"与指针的区别

  指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。

  程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。此外,就是对函数传ref和pointer的区别。

  拓展阅读:

  引用:

  (1)&在此不是求地址运算,而是起标识作用。

  (2)类型标识符是指目标变量的类型。

  (3)声明引用时,必须同时对其进行初始化。

  (4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。

  int a=2,int &ra=a;

  a为目标原名称,ra为目标引用名。给ra赋值:ra=1; 等价于 a=1;

  (5)对引用求地址,就是对目标变量求地址。&ra与&a相等。即我们常说引用名是目标变量名的一个别名。别名一词好像是说引用不占据任何内存空间。但是编译器在一般将其实现为const指针,即指向位置不可变的指针。即引用实际上与一般指针同样占用内存。

  (6)不能建立引用的数组。因为数组是一个由若干个元素所组成的集合,所以无法建立一个由引用组成的'集合。但是可以建立数组的引用.

  例如: int& ref [3]= {2,3,5};//声明ref引用的数组错误

  但是可以这样写:

  const int (&ref)[3] ={2,3,5}; //gcc编译的时候加上选项 -std=c++0x

  ref[0] = 35; //错误

  为什么要加上const ,因为{2,3,5}此时是个字面值数组,是保存在代码段里,只读的属性,如果不加,编译错误,而且后面对ref[0]的赋值也不会成功.

  需要特别强调的是引用并不产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执行后:

  pt1.offset(12,12);

  pt1和pt2都具有(12,12)的值。

  引用必须在定义时马上被初始化,因为它必须是某个东西的同义词。你不能先定义一个引用后才

  初始化它。例如下面语句是非法的:

  Point &pt3;

  pt3=pt1;

  那么既然引用只是某个东西的同义词,它有什么用途呢?

  下面讨论引用的两个主要用途:作为函数参数以及从函数中返回左值。

  指针:

  C++标准中规定,“指针”概念不适用于成员指针(不包含指向静态成员的指针)。

  C++标准规定,指针分为两类:

  object pointer type:指向void或对象类型,表示对象在内存中的字节地址或空指针。

  function pointer type:指代一个函数

;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 江西广丰特产:广丰马家柚 请高手帮忙起个名字姓赵 孩子马上出生 我姓马,给儿子起名叫”马上下地狱”好听吗? 尝试了安装ai多个版本都打不开,应该怎么办 白色项链上一面是钻石图标,☆60tv,另一面750,lialy 提肛运动怎么做? value orientation 翻译 高中时孔子有一篇文章说看不到杀羊便不会觉得残忍那篇文章叫什么_百度... 广州夜景最美十大景点(广州必去的八个夜景) 代县至太原的高速路通行了吗 代县到太原东客站从哪下高速 自己开车去,没有导航 代县到太原长风西出口怎么走 PPT给文字添加拼音的方法 西安市第四十中好吗? 电脑IP地址冲突怎么办? 新疆乌鲁木齐狗市怎么走?具体地址!! 乌鲁木齐去哪治疗焦虑? 苹果手机如何追踪丢失的手机 怀孕初期吃了左氧氟沙星和维生素b族,会对胎儿有影响吗?左氧吃了5天 掌控宇宙之星际探险_by石头心肠_txt全文阅读,百度网盘免费下载_百度... 自驾新疆到山东不走高速公路,有什么要注意的 从山东到新疆克拉玛依不走乌鲁木齐怎么绕? ...办?有哪些食物是需要忌口的。对于皮肤过敏有什么小妙招? 代有密字的四字词语 劳动法关于夜班的规定有哪些 家暴法律如何判刑 黄牛,小鸡,小猫,小鸟哪些是不同类的 从北城到吉林多少公里 地铁跑酷东京版内购免登录 地铁跑酷无限金币不要登录 海鲜酒楼宣传口号 海鲜餐厅服务口号 海鲜食品加工厂口号 我新店准备开张了是粤菜蒸海鲜为主,店名叫蒸海味,现在就差一个口号... ...就一直会长出新的,每天早上头顶都会有很多短发竖着,有什么好方法... cookie和seesion区别 用名词不同格式造句5个 安慰自己的句子 新哈弗h5下月降价吗 更名改姓造句用更名改姓造句