美文网首页
const关键字

const关键字

作者: yutz | 来源:发表于2019-02-25 17:26 被阅读0次

修饰全局变量

#define PI1 3.14
const double PI2 = 3.14;
/*两种方式都可以用来定义全局变量。不过,第二种要比
第一种方式要好,使用宏定义的变量,其信息一般以表格
的形式储存在系统中,当我们在调试程序时,就有可能使
得这个宏定义的变量反复出现在符号表中。而const修饰
的变量会一直出现在符号表,使得我们调试方便许多。*/

常量指针

const int *p1 = 100;   //常量整形指针
int *const p2 = 200;   //整形常量指针
 
/*常量整形指针,不能通过这个指针修改它所指向的变量,
指针本身是可变的。
整形变量指针,指针不可修改,但是指向的变量可以修改*/

不能把常量指针赋值给非常量指针,反过来可以。

const int *p1;
int *p2;
p1 = p2;//ok
p2 = p1;//error
p2 = (int *)p1;//ok,强制类型转换
/*假如p1的值可以直接赋予p2,那么可以通过p2直接修改p1所指向的变量,所以必然不能直接赋值*/

例子:

void Myprintf(const char* p)
{
    strcpy(p, "this");//error
    printf("%s", p);
}

修饰类成员函数

class student {
public:
    student(int age) :_age(age) {}
    void getAge()const {      //不希望通过函数来改变类的私有变量
        _age = 100;       //错误,编译器会报警
        cout << _age << endl;
    }
private:
    int _age;
};
 
/*如果我们在定义一个类的成员函数时,并不希望这个函数能够改变类的
私有变量,这时我们可以使用const将这个成员函数定义为常量函数,这样,
这个函数就不能修改私有变量了。*/

参考博客:https://blog.csdn.net/weixin_37720172/article/details/68946534

相关文章

  • C++基础

    const关键字 const关键字标识常量,标明const右侧的变量(本质是常量)不可变。int const *b...

  • Go入门7:常量 const

    const关键字 const variable type = value; 简单定义: const LENGTH ...

  • Item 03:尽可能使用const

    Item 03: Use const whenever possible 关键字const const允许你指定一...

  • const/static/extern/const/static

    const -- 常量 const中文意思是“常量”,不可改变的固定的。const关键字主要作用: const ...

  • Dart 基本语法

    Final以及Const 在 Dart 中使用 final 以及 const 关键字来申明常量。使用 const ...

  • 兼容问题

    六、const 问题firefox / chrome 可以使用const关键字或var关键字来定义常量但是ie下只...

  • js 中声明常量关键字 var、let、const

    js 中声明常量的关键字:var、let、const,其中 let 和 const 是 ES6 中新增的关键字。 ...

  • 常见浏览器兼容问题

    JS相关 1. const问题 说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,...

  • const在C语言上的定义和用法

    我们经常可以在函数接口参数位置看到有const关键字,但是这个关键字到底有什么作用呢?其实const关键字的作用主...

  • ES6新特性

    块作用域 let和const有关let 关键字(只在{}作用域内有用)const 关键字(常量也用于块即作用符 ...

网友评论

      本文标题:const关键字

      本文链接:https://www.haomeiwen.com/subject/szvgyqtx.html