`
网络接口
  • 浏览: 44858 次
文章分类
社区版块
存档分类
最新评论

const引用和const指针

阅读更多
1、重点:常量类型是基础
     const 类型  变量
     类型 const  变量

举例: const int r=1;
       int const r =1;

类型包含指针类型,注意不包含引用类型。


2、const修饰引用
const是限定符号,表示后面变量对象不可变化(必须在初始化时候指定植)。无论是"const引用"还是"const 指针"都是针对const变量的。若没有这两类,而使用单独"引用"或者"指针",则会导致对const变量的改变,为避免此情况,编译器用“const引用” 和“const指针”。重点理解const类型变量,都是以他展开的。

引用 是变量别名,不可改变,所以必须在初始化时候指定初值

“const引用”是何意思呢?
显然,是指通过这个“const引用"来指向const类型变量。而不可通过该引用修改变量。注意”引用“本身也不能改变。这点和 指向const变量的const指针类似

const位置(替换原则)
const int a =2 ;
const   int  &r2 = a;
int     const  &r3 = a;
"const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯。cosnt和类型紧密结合,前后都可。注意指针和引用一起使用时候可能会有歧义,指针类型需要类型和* 来表示,不同于单独的类型,结合上会存在问题。

3、const修饰指针
指向常量的指针  int  const * p; 或者 const int * p;
             "const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯
常量指针  int* const p;
const位置以*左右为区分

4、const、引用和指针结合。
注意下面形式
int a = 2;
int* const  &ref = &a; (注意不可这样const int*   &ref = &a 。因为 const int类型 表示常量了,而此是int型,故不可改变次序,见上面的替换原则分析)。(指针为:int*)

const int b = 3;
const int * const &ref = &b; (指针为:const int*,指向常量的指针,以引用为主)
也可 int const *  const  &ref = &a;
分享到:
评论

相关推荐

    const与指针的关系

    ### const与指针的关系 #### 一、const与指针的基本分类 ...总之,理解和掌握`const`与指针之间的关系对于编写高效、安全的C/C++程序至关重要。通过本文的分析,希望读者能够更好地理解和运用这些概念。

    CONST指针指针

    这种情况是`const`同时修饰指针和指针所指的变量,两者都不能改变。例如: ```c const int* const pi = &a; // pi和*a都是常量 *pi = j; // 错误,*pi是常量,不能修改 pi = &j; // 错误,pi是常量,不能改变 ...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    ### 函数指针和指针函数的区分及应用 #### 函数指针的理解与使用...通过以上介绍,我们可以看出函数指针和指针函数有着本质的区别,同时正确使用 `const` 可以帮助我们更好地控制程序的行为,提高程序的安全性和效率。

    C语言中Const指针变量(常指针)

    C语言中的const指针变量是一种特殊的指针,它用于确保指针所指向的值不会被修改。但是,const指针变量的概念经常被混淆,理解其工作原理对于学习C语言非常重要。 首先,我们可以根据const关键字的位置区分两种常...

    const 指针

    <类型> const * <指针变量> 或 const <类型> * <指针变量> 2、常量指针: <类型> * const <指针变量> 3、指向常量的常量指针: <类型> const * const <指针变量> 或 const <类型> * const <指针变量>

    详细分析c++ const 指针与指向const的指针

    C++ 编程语言中,const 指针和指向const的指针是两个容易混淆的概念,但它们有着不同的定义和使用场景。在本文中,我们将详细分析 C++ const 指针和指向const的指针,帮助读者更好地理解和学习这两个概念。 const ...

    虚函数与const指针

    虚函数与const指针 虚函数是C++多态的一种表现形式。虚函数是基类的非静态成员函数,其访问权限可以是 protected 或 public。...在使用虚函数时,需要正确地使用const指针和指向const的指针,以避免出现错误。

    C++指针与引用的区别

    指针和引用是C++语言中两种不同的概念,初学者容易把它们混淆一起。这两种概念都是地址的概念,但它们有很多不同的特点和应用场景。 相同点 1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用...

    c/c++语言中const的用法,const 定义变量,指针的用法和不同

    在本文中,我们将详细介绍 C/C++ 语言中 const 的用法,包括 const 定义变量、指针的用法和不同。 首先,让我们来看一个例子: ```c const int a = 10; int *pa = &a; *pa = 20; printf("%d\n", *pa); ``` 在上面的...

    C++中const与指针、引用的分析

    const指针赋值给const指针是允许的,因为这不会改变指针本身的特性,而如果将const指针赋值给非const指针,则需要强制类型转换,这通常被视为不安全的操作,因为可能会试图修改const对象。 3、const与引用的结合 在...

    const指针的使用

    ### const指针的使用 #### 一、const指针概述 在C++中,`const`关键字被广泛用于控制变量的可修改性以及提高代码的安全性和效率。当与指针结合时,`const`可以有不同的含义,具体取决于它在声明中的位置。下面将...

    深入学习const和引用

    - **指针和引用**:`const`可以与指针和引用一起使用,以限制它们的行为。例如: - `const int *p = &x;` 这里`p`是一个指向`int`类型的指针,但不能通过`p`修改所指向的数据。 - `int *const p = &x;` 此时`p`是...

    深入理解const 与指针

    深入理解const与指针 一、可能的组合: 在 C 语言中,const 和指针的组合有很多...深入理解 const 和指针的组合是非常重要的,因为它可以帮助我们更好地理解内存空间和指针的关系,并且在编程中避免一些常见的错误。

    指针传递和引用传递的区别

    在C++编程语言中,指针和引用是两种重要的概念,它们都涉及到对象的间接访问,但具有显著的差异。指针是一个独立的变量,存储的是另一个变量的地址,可以改变所指向的地址或地址中存储的数据。而引用则是一个别名,...

    const和volatile分析

    8. `const`引用:`const`引用必须在初始化时绑定到一个对象,并且始终引用同一个对象,不能重新绑定。 `volatile`关键字: 1. `volatile`的基本概念:`volatile`用于声明易变变量,表明该变量的值可能在编译器无法...

    const T vs. T const

    在这两种情况下,vectorTable都是一个const指针数组,但在第一个声明中,VP是指向void的指针,const被用来修饰VP,意味着不能通过VP改变其所指向的void类型的数据。而在第二个声明中,const直接修饰了void*,意味着...

    C++中const用法全解

    C++ 中 const 用法全解 const 在 C++ 中占有重要作用,属于小兵立大功的...const 是 C++ 中一个非常重要的关键字,它可以用来修饰变量、指针、函数参数和函数返回值等。正确使用 const 可以提高程序的安全性和可读性。

    const 与 指针

    如果`const`位于指针类型和星号之间,那么`const`修饰的是指针所指向的对象。 理解`const`与指针的关系,可以帮助我们编写更安全、更易维护的代码。在分析问题时,应明确指针的`const`属性和它所指向的对象的`const...

    const int *a int * const a区别实例

    const 关键字在 C++ 中的应用和区别 const 关键字是 C++ 中一个非常重要的关键字,它可以用来修饰变量、指针、函数参数等,使其具有只读属性。本文将对 const 关键字的应用和区别进行详细的总结和分析。 const ...

Global site tag (gtag.js) - Google Analytics