C++学习笔记――const
2009-03-27 17:40
239 查看
const常量
1、声明时初始化 ,之后就不能再被改变 const int i;
2、指针常量和常量指针:
const int * p; p所指的内容不能被改变
int * const;p地址不能被改变
判别:以*为分界线,const在左边则数据为常量,const在右边则指针为常量
3、参数为常量:void f(const int p);表示P不能被改变
例如:void f(const int p){
int & m=p;
m++;//错误,m为p引用,和p表示同一个数据,不能改变
}
4、返回值为常量:const int f();此时返回值不能为左值被修改。
f()=6;//!!错误,返回常量,不能被修改
5、const指针不能赋给非常量指针,防止被修改
6、常量对象 const X obi;常量对象只能访问常量成员方法。
7、常量函数 void f() const;此时函数不能修改类中的成员,除非使用mutable修饰。对于6中的情况可以有 obj.f();
8、valitile 防止编译优化,表示数据不能被程序修改,但可能被外部程序修改
9、引用和指针的区别:
引用是别名,int i;int &m=i;m和i表示同一内容,引用不能为空,必须被初始化
指针:是一个指向地址的变量,可以是不同的值,所以可以不初始化,使用之前要检查 。
1、声明时初始化 ,之后就不能再被改变 const int i;
2、指针常量和常量指针:
const int * p; p所指的内容不能被改变
int * const;p地址不能被改变
判别:以*为分界线,const在左边则数据为常量,const在右边则指针为常量
3、参数为常量:void f(const int p);表示P不能被改变
例如:void f(const int p){
int & m=p;
m++;//错误,m为p引用,和p表示同一个数据,不能改变
}
4、返回值为常量:const int f();此时返回值不能为左值被修改。
f()=6;//!!错误,返回常量,不能被修改
5、const指针不能赋给非常量指针,防止被修改
6、常量对象 const X obi;常量对象只能访问常量成员方法。
7、常量函数 void f() const;此时函数不能修改类中的成员,除非使用mutable修饰。对于6中的情况可以有 obj.f();
8、valitile 防止编译优化,表示数据不能被程序修改,但可能被外部程序修改
9、引用和指针的区别:
引用是别名,int i;int &m=i;m和i表示同一内容,引用不能为空,必须被初始化
指针:是一个指向地址的变量,可以是不同的值,所以可以不初始化,使用之前要检查 。
相关文章推荐
- C++学习笔记之指针和const
- C++学习笔记4——const
- Effective C++ 学习笔记 01 const关键字
- 【C++学习笔记】const的用法
- C++学习笔记——共用数据的保护(const关键字)
- 【C++学习笔记】由 const char* 引出的一系列问题
- C++学习笔记之---控制变化的const
- C++:const sizeof 及array的学习笔记
- C++学习笔记--再谈const和引用
- C++学习笔记(二) bool const 和 #define 结构体内存对齐
- C++ 学习笔记(3) const_cast
- C++学习笔记:friend ostream &operator<<(ostream &stream, const Date& dt);
- C++学习笔记-const和static
- 【C学习笔记】【疑问】关于const常量的实现机制在C和C++中的不同
- C++ 学习笔记(2)变量和基本类型(复合类型:引用、指针)、const、constexpr、typedef(using)、auto、decltype
- C++学习笔记 C和C++中的const关键字
- C++之离港篇学习笔记之const
- C++学习笔记(3):const与&修饰函数形参的作用
- C/C++学习笔记之const的学习
- 【C++学习笔记】const关键字