C++ 复合类型-指向指针的引用

翻译 2016年08月29日 13:30:10

为了加深对复合类型的理解,把C++ Primer 一书中对复合类型的描述复写一遍


指向指针的引用


引用本身不是一个对象,因此不能定义指向引用的指针.


但指针是对象,所以存在对指针的引用:


<span style="font-size:18px;">int i = 42;      
int *p;           // p是一个int型指针
int *&r = p;      // r 是一个队指针P的引用

r = &i;           // r引用了一个指针, 因此给r赋值 &i 就是令p 指向r
*r = 0;           //解引用r得到i,也就是p指向的对象,讲i的值该为0
</span>


要理解r的类型到底是什么,最简单的办法是从右向左阅读r的定义.

离变量名最近的符号对变量的类型有最直接的影响.因此r是一个引用.

声明符的其余部分用以确定r引用的类型是什么,此例中的符号*说明r引用的是一个指针.

最后声明的基本数据类型部分指出 r 引用的是一个 int 指针.


面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚它的真实含义.


-内容来源说明 C++ Primer ,第五版

举报

相关文章推荐

C++复合类型:指针和引用

复合类型复合类型是指基于其他类型定义的类型。C++有几种复合类型,引用和指针。复合类型的声明语句由一个基本数据类型和紧随其后的一个声明符列表组成。每个声明符命名了一个变量并指定该变量为与基本数据类型有...
  • dgeek
  • dgeek
  • 2017-07-23 15:00
  • 104

C++的数组、结构体、指针三种复合类型知识点小总结

数组、结构体、指针是C++的3种复合类型。 数组可以在一个数据对象中存储多个不同类型的值,通过使用索引或下标,可以访问数组中的各个元素。

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

关于两种复合类型--引用和指针以及const常量限定符的一些总结

引用(不能作为对象): 起一个另外的名字而已,好比如*文华今天叫小华,明天别人叫他小文,他还是他。 注意上述中的引用应该是指“小文”这个名字符号,而不是指小文其人,故引用不是对象!故不能定义引用的...

(7)复合类型(指针和引用)

复合类型:基于其他类型定义的类型。C++的复合类型有很多,这一节介绍“引用”和“指针”。 引用:为对象起了另外一个名字,引用类型引用另外一种类型。通过将声明写成&d的形式来定义引用类型,其中 d是声...

const——指针和引用以及复合类型

Const与指针: int a (1024); const int * p1(&a);//p1可以指向不同的对象,对象的内容只能读不可写 int * const p2(&a);//p1可以指向唯一...

复合类型——指针和引用

概述复合类型,顾名思义就是指基于其他类型定义的类型,主要有指针与引用。本文将先分别介绍这两种类型,接着将介绍二者之间的异同之处。 一般来讲,一条声明通用的格式为:基本数据类型 声明符。在简单声明语句...

C++ 中复合类型声明的理解(尤其是指针数组/数组指针/多维数组的问题)

这几天看《C++ Primer》第五版感觉还是颇有收获的,澄清了之前很多不是很理解的概念,也知道了好多新用法 首先,先澄清一个误解,就是数组的定义问题,在C中C99标准之后数组定义时...

C++:复合类型————引用(左值引用)

C++新增的复合类型————引用。引用变量的主要用途是用作函数的形参,通过将引用变量用作参数,函数将使用原始数据,而不是其副本,这样除了指针之外引用也将为函数处理大型结构提供了一种非常方便的途径。一、...

Go起步:5、复合类型2--指针(pointer)、结构体(struct)

之前关于Go的复合类型聊到[数组和切片],今天继续看看指针(pointer)和结构体(struct)。
  • Mungo
  • Mungo
  • 2016-08-29 19:49
  • 2222

C++学习笔记之八 复合类型---指针和自由存储空间

计算机程序在存储数据时必须跟踪3种基本属性:信息存储的何处、存储的值为多少以及存储的信息是什么类型。 我们使用过一种策略来达到上述目的:定义一个简单变量。声明语句指出了值的类型和符号名,还让程序为值分...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)