c++ 中 const 常量函数 static 变量 整理
来源:互联网 发布:移民澳大利亚 知乎 编辑:程序博客网 时间:2024/06/05 15:40
const 只对其左边起作用,如果左边没数据 则对右边起作用
如:const int * p; //修饰int 指向的数不能修改(即:不能 *p = 3形式),但指针可以修改
int const * p 同const int *p ;
int * const p 修饰* 是常量指针 指针不能修改(即:不能 int a ,p= &a )但其指向变量可以修改(可以*p = 3))
常成员函数声明:<类型标志符>函数名(参数表)const;
说明:
(1)const是函数类型的一部分,在实现部分也要带该关键字。
(2)const关键字可以用于对重载函数的区分。
(3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数。
1、const成员:只能在构造函数后的初始化列表中初始化
2、static成员:初始化在类外,且不加static修饰
3、const static成员:类只有唯一一份拷贝,且数值不能改变。因此,可以在类中声明处初始化,也可以像static在类外初始化
4.const 对象只能调用const成员函数
.在类中允许存在同名的常量函数和非常量函数,编译器根据调用该函数的对象选择合适的函数
当非常量对象调用该函数时,先调用非常量函数;
当常量对象调用该函数时,只能调用常量函数;
如果在类中只有常量函数而没有与其同名的非常量函数,则非常量与常量对象都可调用该常量函数;
常量引用返回值
如果你想从常量方法(函数)中通过引用返回this对象的一个成员,你应该使用常量引用来返回它,即const X&
陷阱:有一种例外,常量成员函数可以改变静态数据成员;另外,如果使用关键字mutable修饰数据成员,那么甚至常量数据成员也可以修改它。不过别担心这种例外情况。
对于X类型的非常量成员函数而言,其this指针的类型是 X * const,该指针自身是常量;但是对于X类型的常量成员函数而言,其this指针的类型是const X * const,是一个常量指针。
- c++ 中 const 常量函数 static 变量 整理
- C++ 类的const常量,Static变量和…
- C语言中const只读变量及常量的注意事项
- 【c基础】全局变量-局部变量 静态变量static-自动变量auto 外部变量extern-内部变量static 常量const-宏定义#difine
- 静态变量(atuomatic) 动态变量 (static) 常量 const
- 静态变量(static变量)和常量(const 类型)
- c语言中static 变量和函数
- php 中静态变量static 全局常量const的使用注意事项
- 类中static静态变量与const常量成员的初始化
- C++常量折叠和类中const、static成员变量初始化
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- C/C++中static变量和static函数的用法
- C++static / const /static const 型成员变量
- static 全局静态变量与const常量
- c/c++中extern、static、const的用法及全局变量/常量
- C++中static、const、static const修饰变量作用详解
- 哲理
- ViewPager,实现真正的无限循环(定时+手动)
- STM32GPIO的描述和配置
- 各种排序算法的C++实现
- 程序员与妓女
- c++ 中 const 常量函数 static 变量 整理
- 黑马程序员 java高级技术1.5之反射(张孝祥)
- Oracle的服务
- spring框架整合
- printf格式化中添0
- http上传和下载
- xxxx
- xxxx
- 推荐一种管理密钥的方法