c++中引用和指针的区别

1、指针和引用的主要区别。

引用是为变量起另一个名字(小名),一般在变量初始化时,初始值直接拷贝给变量,定义引用时,把引用(小名)和初始值“绑定”在一起,而不是将初始值拷贝给引用。因为 无法将引用重新绑定到另一个对象,所以引用必须初始化。 举个例子: 有个变量叫张三,张三=2。给张三起个小名叫小三,即小三=张三。定义引用”小三“时必须针对一个对象,一旦定义完成,”小三“就不能再指定别的变量,所以起小名时,必须初始化(针对一个大名)。

引用本身不是一个对象,不能定义引用的引用(引用只是一个小名,上不了户口,不能针对”小名“,在起小名了)

指针本身就是一个对象,允许对指针赋值和拷贝

指针无需再定义时赋初值。

时间: 2024-12-20 10:04:16

c++中引用和指针的区别的相关文章

C++中引用与指针的区别

请说出C++中引用和指针的区别.(华为.腾讯.阿里等) 参考答案: (1)当引用被创建时,它必须被初始化.而指针则可以在任何时候被初始化. (2)一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用.而指针则可以在任何时候指向另一个对象. (3)不可能有NULL引用.必须确保引用是和一块合法的存储单元关联. 进一步解析: 指针和引用都是 C++ 中的基本语法成份,它们既有联系,也有不同之处. 它们都是地址的概念,其中指针指向一块内存,它的内容是所指内存的地址:而引用是某块内存的

[转载]C++中引用与指针的区别(详细介绍)

本文转载自http://www.cnblogs.com/tracylee/archive/2012/12/04/2801519.html C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化.     ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址: 引

C语言学习笔记 (002) - C++中引用和指针的区别(转载)

下面用通俗易懂的话来概述一下: 指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const.volatile等等.见下图,所示指针的含义: 引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用.见下图,所示引用的含义: 2.指针和引用的区别 首先,引用不可以为空,但指针可以为空.前面也说过了引用是对象的别名,引用为空--对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化.因此

C、C++中引用与指针的区别

1:引用的和指针在概念上的区别 引用是变量的别名,例如 int m; int &n=m; 引用作为一个别名.它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量).则任何对引用的操作即对变量的操作.引用一般是用于处理函数的参数与返回值. 使用规则: a:引用在创建的时候必须被初始化(指针可以在任何时候赋值) b:引用必须与一个确定的合法内存单元相关联.不存在NULL引用. c:一旦引用初始化后,就

C++中引用与指针的区别(详细介绍)

指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化.     ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址: 引用是某块内存的别名.     ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需要解引用: 3. 引用只能在定义时被初始化

引用与指针的区别

引用:相当于给一个变量取的别名,它本身不是一种数据类型,因此不战用存储空间,不能建立数组的引用 引用作为函数参数:当发生函数调用时,用引用作为参数,在内存中并不会产生实参的副本,也不会给引用这个形参分配空间, 而是直接对实参进行操作,但如果用一般变量作为函数参数,则会给它分配空间,并且作为实参的副本,如果 传递的是对象,还将调用拷贝构造函数 引用与指针的区别:相同点:引用与指针都会导致实参对象值的改变 不同点:a.引用不用分配空间,指针要分配空间,且指针作为形参在调用时,必须用变量的地址作为实参

引用和指针的区别,数组和指针的区别

一:引用和指针的区别 1:引用并非对象,它只是为一个已存在的对象所起的另外一个名字,必须初始化,而且无法改变它绑定的对象,之后每次使用这个引用都是访问最初绑定的那个对象. 2:指针本身是对象,可以不用初始化,可以改变指针指向的对象 二:指针与数组的区别 指针 数组 保存数据的地址 保存数据 间接访问数据 直接访问 通常用于动态数据结构 通常用于存储固定数目数据类型相同的元素 相关操作malloc(),free()等 隐式分配和删除 同常指向匿名数据 自身即为数据名 在C语言中对于下面的两种情况,

php中引用和赋值的区别主要在哪里

php中引用和赋值的区别 <pphp 的引用允许用两个变量来指向同一个内容. 相当于他们可以是 不同的名字,却可以指向 同一个 物理空间. 赋值,它实际上意味着把右边表达式的值赋给左边的运算数. 相当于,他们是 不同的名字,不同的物理空间 示例: 引用 $b = '3'; echo $b; //3 $a = &$b; echo $a; //3 $b = 4; echo $b ; //4 echo $a; //4 $a = 5; echo $b ; //5 echo $a; //5 当$a 引

引用和指针的区别

引用(references)使用"."操作符,指针(pointers)使用"*"和"->"操作符,这是两者最基本也是最熟悉的区别了,应该不用详说. 首先,没有所谓的null reference.一个reference必须总代表某个对象,因此C++要求references必须有初值: string& rs://错误!references必须被初始化 string s("xyzzy"); string& rs