zoukankan      html  css  js  c++  java
  • c++中的const 限定修饰符

     1#include <iostream>
     2using namespace std;
     3
     4int main()
     5{
     6    /*
     7    关键字:指针,地址,值,const
     8    变通对象:值可变
     9    const 对象 : 值可变
    10    变通指针:地址和值都可变
    11    指向const对象的指针 :地址可变,值不可变
    12    const 指针:地址不可变,值可变
    13    指向const对象的const 指针 :地址和值都不可变    
    14    */

    15
    16    const int a = 1// int类型的const对象,初始值为1 。 另一种写法好像也正确,int const a = 1;
    17    int b = 2;
    18    int *pa = 0;
    19    const int *pb = 0// 指向int类型的const对象的指针。另一种写法也正确,int const *pb = 0;
    20                                                        // 其实就是说const 关键字和int关键字先后顺序随便。
    21    int *const pc = &b; // 指int类型的对象的const指针
    22    const int *const pd = &a; // 指int类型的const对象的const指针
    23
    24    // pa = &a; // const 对象的地址只能赋值给指向 const对象的指针。pa不是指向const对象的地址。b
    25    // pb = &a;
    26    // pb = &b; // 指向 const 对象的指针,可以指向const 对象的地址,也可以指向非const对象的地址。
    27
    28    // pb = &a; // or pb = &b;
    29    // *pb = 9; // 指向 const 对象的指针,可以指向不同的对象,但不可以改变所指向对象的值。
    30
    31    // pc = &a; // const指针不能赋以其它对象的地址了。
    32    // *pc = 9; // const指针所指向的对象的值是可以通过其改变的。
    33
    34    cout << *pd << endl;
    35
    36    return 0;
    37}
  • 相关阅读:
    Codeforces Round #613 (Div. 2)
    Codeforces Round #575 (Div. 3)
    Codeforces Round #572 (Div. 2)
    CodeCraft-20 (Div. 2)
    Educational Codeforces Round 76 (Rated for Div. 2)
    欧拉筛法模板代码
    【Android Studio】安卓开发初体验3.1——UI设计之常用控件
    【kotlin】adapterPosition方法返回-1 无法获取位置
    【洛谷】P1009 阶乘之和——高精度算法
    【Android Studio】安卓开发初体验2——Activity
  • 原文地址:https://www.cnblogs.com/luqingfei/p/743031.html
Copyright © 2011-2022 走看看