美文网首页
C++的Const修饰符几种用法

C++的Const修饰符几种用法

作者: 呵呵哒_8731 | 来源:发表于2018-03-09 19:58 被阅读0次

1、const修饰符可以声明常量。

const int b=100; 

2、const修饰符可以声明指针,当const在(*)号左边,意味着指针指向的数不能修改,即指针不能指向另一个值。当const在(*)号右边时,意味着指针不能修改,例如a++等操作,但是指针指向的值可以修改。

int d=10;
const int*a=&b;    [1]不能进行(*a)++的操作,但是可以进行*a++操作
int const *a=&b;   [2]同上
int* const a=&b;   [3]不能进行a++的操作
const  int* const  a=&b;  [4]同上

3、const修饰符修饰函数参数时,一方面可以防止输入的参数被更改,另一方面可以进行类型检查,如果输入的数类型不符合则报错。

4、const修饰符在函数后面时,可以为函数重载提供参考。同一个函数名和相同的参数列表,如果后面加了const和没有const是两个函数。

5、const在函数声明前面:

const int fun1() //这个其实无意义,因为参数返回本身就是赋值。
const int * fun2() //调用时 const int *pValue = fun2(); 
                    //我们可以把fun2()看作成一个变量,即指针内容不可变。
int* const fun3()   //调用时 int * const pValue = fun2(); 
                     //我们可以把fun2()看作成一个变量,即指针本身不可变。

6、const在类中时,当修饰成员变量时,成员变量会变成成员常量,不能被更改,且只能在初始化列表时被赋值。当修饰成员函数时,该成员函数不能改变类的成员变量,也不能调用非const的成员函数。

7、将Const类型转化为非Const类型的方法
采用const_cast进行转换。
用法:const_cast <type_id> (expression)
该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。
· 常量指针被转化成非常量指针,并且仍然指向原来的对象;
· 常量引用被转换成非常量引用,并且仍然指向原来的对象;
· 常量对象被转换成非常量对象。

8、const能节省空间
const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝。
编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

相关文章

  • C++的Const修饰符几种用法

    1、const修饰符可以声明常量。 2、const修饰符可以声明指针,当const在(*)号左边,意味着指针指向的...

  • 面试总结

    1. const用法 2. assign/weak等修饰符 3. NSArray与NSMutableArray区别...

  • iOS中const和define的比较

    首先了解一下两者的定义: const const是C/C++中的一个关键字(修饰符), const一般用来定义一个...

  • C++ const用法

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结...

  • C++ const 用法

    const修饰的是一个常量,常量的意思是不能修改该值,但是可以将常量值赋给变量。 pt是指向const单元的指针。...

  • C++ const用法

    一 修饰类 C++中const修饰类主要包括3个部分:数据成员,成员函数,对象。 数据成员const 修饰类的成员...

  • C++ const用法

    const限定符 在变量前面加上const,也可以创建一个常量。使用const创建常量的一般格式如下: 使用con...

  • C++:const用法

    在C++中用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。如果在编程中确实有某个值保持不变,也就是该...

  • C++中const 关键字的用法(转)

    C++中const 关键字的用法 const修饰变量 const 主要用于把一个对象转换成一个常量,例如: 上面的...

  • C/C++ 中 const 修饰符用法总结

    https://www.cnblogs.com/icemoon1987/p/3320326.html

网友评论

      本文标题:C++的Const修饰符几种用法

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