C++学习笔记---const 关键字

来源:互联网 发布:淘宝订单金额字体 编辑:程序博客网 时间:2024/06/12 23:51

关键字const,总是忘记,留个笔记mark一下。

一.什么是const

常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。

二.const作用

1.定义const常量,具有不可变性

const int Max = 100;

int Array [Max]

2.可以进行类型检查,使编译器对处理内容有更多了解,消除一些隐患

void f(const int i){......};//编译器就会知道i是一个常量,不允许修改。

3.节省空间,避免不必要的内存分配

#define PI 3.14159//常量宏

const double Pi = 3.14159//此时未将Pi放入RAM中

double i = Pi;//此时未Pi分配内存,以后不再分配

double I = PI;//编译器期间进行宏替换,分配内存

double j = Pi;//没有内存分配

double J = PI;//在进行宏替换。有一次分配内存

const定义常量只是给出了对应的内存地址,而define给出的是立即数,所以const常量在程序运行过程中只有一份拷贝,而difine定义的常量的内存有若干个拷贝。

三.const int a;//a是一个常整型变量

     int const a;//a是一个常整形变量。所以声明a的时候需要同时给a赋值。

     const int *a;//a是一个指向常整型变量的指针,a可以修改,但a指向的整型变量不可修改

     int * const a;//a是一个指向整型变量的常指针,a不可以修改,但a指向的整型变量可以修改。

     int const* a const;//a是一个指向常整型变量的常指针

     int a()const; // 常函数,函数不能修改数据