`

const

 
阅读更多
#include<iostream>
using namespace std;

int main()
{
    int i = 0;
    const int constInt = 1;
    //constInt = 2; // 错误:向只读变量‘constInt’赋值
    //int &intRef = constInt;//错误:将类型为‘int&’的引用初始化为类型为‘const int’的表达式无效
    //int *intPtr = &constInt;//错误:从类型‘const int*’到类型‘int*’的转换无效 [-fpermissive]

    /*
        double d = 3.123;
        int &i = d;//错误:将类型为‘int&’的引用初始化为类型为‘double’的表达式无效
    */
    const double constDouble = 3.123;
    const int &constIntRef = constDouble;
    //上一行代码会被编译器转换为:
    const int temp = constDouble;
    const int &ri = temp;
    cout << "constIntRef:" << constIntRef << endl;
    cout << "ri:" << ri << endl;

    //从右往左读
    const int* constIntPtr;//可以不初始化
    constIntPtr = &constInt;//指针,指向的是一个整形的常量
    //*constIntPtr = 0;//错误:向只读位置‘* constIntPtr’赋值
    //int *const intConstPtr;//错误:未初始化的常量‘intConstPtr’
    int *const intConstPtr = &i;//常量,整形指针(指向整形变量的常量指针:这个指针的只能赋值一次,它是一个常量)
    //int *const testIntConstPtr = &constInt;//错误:从类型‘const int*’到类型‘int*’的转换无效 [-fpermissive]
    //intConstPtr = 0;错误:向只读变量‘intConstPtr’赋值
    *intConstPtr = 2;
    cout << "*intConstPtr:" << *intConstPtr << endl;
    const int* const constIntConstPtr = &constInt;//指向整形常量的常量指针

    //int &r = 0;//错误:用类型为‘int’的右值初始化类型为‘int&’的非常量引用无效
    const int &r = 0;//那么常量便是有效了
    cout << "r:" << r << endl;

    int *intPtr = &i;
    *intPtr = 3;
    //intPtr = constIntPtr;//错误:从类型‘const int*’到类型‘int*’的转换无效
    constIntPtr = intPtr;
    cout << "*constIntPtr:" << *constIntPtr << endl;
}


constIntRef:3
ri:3
*intConstPtr:2
r:0
*constIntPtr:3
分享到:
评论

相关推荐

    Const,Const函数,Const变量,函数后面的Const.txt

    ### 关于Const、Const函数与Const变量的理解 在C++编程语言中,`const`关键字是一种类型限定符,被广泛用于提升代码的安全性与可读性。本文将深入探讨`const`的不同用法及其背后的原理。 #### 1. `const`修饰参数 ...

    C语言中const定义常量

    ### C语言中const定义常量 #### 一、引言 C语言作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。为了更好地理解和运用C语言中的特性,掌握`const`关键字的使用变得尤为重要。本文将详细介绍如何...

    const T vs. T const

    const T vs. T const 是在C语言及C++语言编程中非常重要的一个知识点,主要涉及const关键字如何与数据类型结合使用,以及它对变量或函数的限制。本文将详细探讨const关键字的用法,以及const在数据类型声明中的不同...

    类的static,const,static const,const static成员的初始化

    类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...

    const char*转LPCWSTR 字符串转换

    其中,`const char*`代表C风格的ASCII字符串,而`LPCWSTR`则是宽字符(Unicode)字符串类型,它在Windows API中广泛使用。本篇文章将深入探讨如何在Windows环境下将`const char*`转换为`LPCWSTR`。 首先,理解两者...

    易语言常量支持库const.fne const_static.lib v1.6#8版(静态版)

    "易语言常量支持库const.fne const_static.lib v1.6#8版(静态版)"是专为易语言设计的一个扩展库,它提供了丰富的常量支持,增强易语言在编写程序时的表达能力和效率。 常量在编程中扮演着重要的角色,它们是不可...

    关于const的详细讲解,非常有用

    《深入理解C++中的const关键字》 const关键字在C++编程语言中扮演着至关重要的角色,它是用来声明常量和确保代码安全的重要工具。本文将详细介绍const的含义、作用及用法,帮助开发者更好地理解和利用这个强大的...

    C++中的const限定修饰符

    ### C++中的const限定修饰符 #### 一、引言 在C++编程语言中,`const`关键字是一个非常重要的特性,它可以帮助开发者确保某些数据或对象在其生命周期内的不变性,从而提高代码的安全性和可维护性。本文将详细介绍`...

    const用法 const int *a; int * const a;

    在C++编程语言中,`const`关键字用于声明常量,它可以用来修饰变量、指针、引用等,以限制它们的可变性。本文将详细解释`const`的各种用法。 1. **常量变量**: - `const int a;` 或 `int const a;`:声明了一个...

    C++中const用法全解

    C++ 中 const 用法全解 const 在 C++ 中占有重要作用,属于小兵立大功的典型,本文档详细介绍了如何使用 const。 1. const 常量 在 C++ 中,const 可以用来修饰变量,称为常量。例如:const int max = 100; 这种...

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

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

    const和volatile分析

    在C++编程语言中,`const`和`volatile`是两个非常重要的关键字,它们用于修饰变量,赋予变量特殊的属性。这两个关键字在理解程序的行为、内存模型以及多线程编程中起到至关重要的作用。在此,我们将深入探讨`const`...

    Const 用法小结

    在C++中,`const`关键字有着广泛的应用,它可以用于定义常量、修饰类的数据成员、指针以及函数参数和返回值。以下是关于`const`的一些详细解释: 1. **const 常量**: - `const int max = 100;` 定义了一个名为`...

    const关键字使用总结

    ### C/C++中的`const`关键字详解 #### 一、`const`的作用 `const`关键字在C/C++中有着广泛的应用,它主要用于定义不可更改的变量或对象,以此提高程序的安全性和可维护性。 **1. 定义`const`常量** - **作用**...

    c语言const的用法详解

    ### c语言const的用法详解 #### 一、概述 `const`关键字是C语言中的一个非常重要的概念,主要用于声明不可变的变量或指针。它可以帮助程序员更好地控制程序的行为,减少错误的发生,并提高代码的可读性和维护性。...

    const data彻底研究

    ### const data彻底研究:深入解析C++中的常量机制 #### 摘要与引言 在C++编程语言中,`const`关键字扮演着至关重要的角色,它用于声明不可修改的数据成员或变量,从而提高了代码的安全性和效率。本文旨在通过对`...

    C++const关键字详解

    ### C++中的`const`关键字详解 在C++编程语言中,`const`关键字是一个非常重要的概念,它用于声明常量、限定函数参数以及优化内存管理。本文将深入探讨`const`关键字的各种用法和其背后的原理,帮助读者更全面地...

    常量支持库1.6版(const.fne).rar

    《易语言常量支持库1.6版(const.fne)详解》 易语言,作为一款中国本土化的编程语言,以其简单易学、易读易写的特点深受初学者和专业人士的喜爱。其中,常量支持库是易语言编程中不可或缺的一部分,它提供了一系列预...

    static和const用法详解

    Static和Const用的详解 static和const是C语言中两个非常重要的关键字,它们在程序设计中扮演着不同的角色。本文将详细介绍static和const的用法和特性。 static static是C语言中的一个存储类型限定符,主要用来...

    c++中const关键字使用详解

    C++语言中的const关键字是一个非常重要的修饰符,它的核心作用是声明一个变量为常量,即不可修改。正确地理解和使用const,可以帮助提高程序的健壮性和安全性。本文将详细介绍const关键字在C++中的使用方法。 一、...

Global site tag (gtag.js) - Google Analytics