`
jubincn
  • 浏览: 242725 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

引用(reference)和const指针的区别

 
阅读更多

两者最大的不同是const指针在内存中有存储空间,有地址,而引用则没有。因此,const指针可以为NULL,而引用不能为NULL。

简而言之,const指针是个指向对象的指针,而引用则是对象自身。


下面内容来自:《高质量C/C++编程指南》

引用的一些规则如下:

(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)。

(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。



分享到:
评论

相关推荐

    深入学习const和引用

    ### 深入学习const和引用 在C++编程中,`const`关键字与引用是两个重要的概念。本文将从这两个方面入手,详细介绍它们的基本原理、应用场景以及如何正确使用。 #### 一、const关键字 `const`关键字用来声明一个...

    c++ const引用与非const引用介绍

    本文主要探讨的是const引用和非const引用的区别和使用场景。 首先,让我们理解什么是const引用。const引用是用来指向const对象的引用,这意味着你只能通过这个引用读取对象的值,而不能对其进行修改。这是为了保护...

    C++学习

    不过,要注意const和非const指针的差异,以及const指针的const成员函数,这些在处理const对象时尤为重要。 除了基本概念,C++的“Const Reference”和“Pointers”还有更高级的应用,如const成员函数、const_cast...

    C引用(Reference)-C教程共4页.pdf.zip

    在C++编程语言中,引用(Reference)是一个非常重要的特性,它为程序员提供了一种特殊的方式来处理变量。引用不是一个新的数据类型,而是已存在变量的一个别名,这意味着一旦引用被初始化为一个变量,就不能改变引用...

    CUJ:标准库:定义iterator和const iterator.docx

    例如,`std::list`容器就有`iterator`和`const_iterator`两种,它们的`value_type`相同,但`reference_type`和`pointer_type`不同。非const迭代器提供对元素的非const引用,而const迭代器提供const引用。在某些情况...

    c++关于指针的学习资料

    `const`修饰的引用和指针限制了对所引用或指向对象的修改,增加了代码的稳健性。引用和指针都可以用作函数参数,提供灵活的功能,但使用时需要注意它们在内存管理和生命周期上的差异。 总之,理解和熟练使用指针是...

    c++中的const总结

    本文将深入探讨`const`在C++中的各种用途和用法,包括常量、常量指针、指针常量、常量成员函数、常量引用以及const在类和对象中的应用。 1. 常量(Constant Variables): `const`关键字可以用来声明一个常量,这...

    C++ 中引用与指针的区别实例详解

    以下是关于C++中引用与指针区别的详细解释: 1. 引用的概念: 引用不是独立的变量,而是现有变量的一个别名。它没有自己的内存空间,而是与被引用的变量共享同一块内存。因此,对引用的操作等同于对原变量的操作。...

    c++知识点1

    C++中const关键字的使用有多种形式,它可以修饰变量、指针、引用和成员函数。下面详细介绍const的各种用法: 修饰变量 const关键字可以修饰变量,说明该变量不可以被改变。例如: ```c const int a = 10; ``` 这样...

    c++中引用的用法和应用实例

    在C++编程语言中,引用(Reference)是一个非常重要的特性,它为程序员提供了另一种方式来访问和操作已存在的变量。引用不同于指针,它更像是一个变量的别名,一旦引用被初始化指向某个变量,就不能再改变引用的目标...

    C++中的引用

    在C++编程语言中,引用(Reference)是一个非常关键的概念,它提供了一种安全、高效的方式来间接访问和操作其他变量。引用不同于指针,它更像是一个变量的别名,一旦引用被初始化为某个变量,就不能再改变引用的目标...

    C++编程思想--引用和拷贝构造函数

    在C++中,指针和引用虽然都可用于间接访问对象,但两者有显著的区别。指针可以为空(NULL),可以动态改变指向,而引用不能。指针需要解引用操作(*)来访问对象,引用则直接使用其名字即可。指针可以被重新赋值,引用...

    C++中Reference与指针(Pointer)的使用对比

    了解引用reference与指针pointer到底有什么不同可以帮助你决定什么时候该用reference,什么时候该用pointer。  在C++ 中,reference在很多方面与指针(pointer)具有同样的能力。虽然多数C++程序员对于何时使用...

    c++程序引用的基本语法.zip

    5. 指针与引用的区别: - 引用必须在声明时初始化,而指针可以在任何时候被赋值。 - 引用没有NULL状态,总是引用某个特定对象,而指针可以是NULL。 - 引用更安全,因为它不能悬空,而指针可以。 - 指针可以被...

    教你理解复杂的C-C++声明

    在C++中,可以同时使用指针和引用。例如: ```c++ int **p1; // p1 is a pointer to a pointer to an int. int *&p2; // p2 is a reference to a pointer to an int. int &*p3; // ERROR: Pointer to a reference ...

    第3章数据类型——指针习题(有答案)[参考].pdf

    9. 指针和引用的运算:在表达式`a-1`和`b+1`中,`a`和`b`分别是一个整数和它的引用,因此`a-1`得到`a`减1的结果,而`b+1`是`b`的值增加1,因为引用是对原始变量的直接操作。所以输出应为`98,100`。 10. 引用和数组...

    c++之十引用和拷贝构造函数

    在C++编程语言中,引用(Reference)和拷贝构造函数(Copy Constructor)是两个非常重要的概念,它们在处理对象的复制和传递时起到关键作用。这篇文章将详细探讨这两个主题。 首先,引用是C++中一种特殊的变量类型...

    C++面试大纲全解 菜鸟

    2. 指针和引用的使用: - 指针:可以是指向常量的指针(pointer to const),也可以是自身是常量的指针(const pointer)。 - 引用:可以是指向常量的引用(reference to const),不能使用 const 修饰,因为引用...

    c++学习资料关于“引用”的使用

    下面我们将深入探讨引用的概念、操作、用途以及与指针的区别。 **9.1 引用概念** 引用不是一个新的存储单元,而是现有变量的一个别名。在声明引用时,必须同时初始化,且一旦初始化后,引用就不能改变,永远绑定到...

    如何理解c和c ++的复杂类型声明

    这里需要注意的是,指向引用的指针和引用的引用是非法的。 #### `const`修饰符 `const`关键字用于指定一个变量不可修改。例如: ``` const int n = 5; int const m = 10; ``` 这两条语句定义了两个整型常量`n`和`m...

Global site tag (gtag.js) - Google Analytics