const在C++的使用策略和意义
2018-01-13 10:28
246 查看
主要是下面两个方面
1.对比c语言是两种修饰方法对普通变量的修饰
2.类中的修饰
知识点:1. const修饰变量我认为就是不可修改
2.const修改的成员函数需要有const的成员变量,不能调用非const的成员函数
3.const修改的成员变量只能用初始化列表的方式进行初始化
对比c语言是两种修饰方法对普通变量的修饰
类中的修饰的头文件和源文件
1.对比c语言是两种修饰方法对普通变量的修饰
普通变量和指针的修饰 函数参数的修饰
2.类中的修饰
成员函数的修饰 成员变量的修改
知识点:1. const修饰变量我认为就是不可修改
2.const修改的成员函数需要有const的成员变量,不能调用非const的成员函数
3.const修改的成员变量只能用初始化列表的方式进行初始化
对比c语言是两种修饰方法对普通变量的修饰
/*const 修饰变量指针*/ int x = 10; int y = 9; const int *p = &x; int *const p1 = &y; /*error code*/ // *p = 8; //*p1 = 2; cout << *p << endl; cout << *p1 << endl;
类中的修饰的头文件和源文件
#ifndef MY_CONST_H #define MY_CONST_H /** * @brief The my_const * 分为三部分 * 第一:修饰变量部分 * 第二:修饰函数部分 * 第三:修饰类部分 */ class my_const { public: my_const(); void setData(); int set_data() const; int get_data(); private: // const int m_iCon; int m_iTe; }; #endif // MY_CONST_H my_const::my_const():m_iTe(9) { //const 成员必须要用初始化列表进行初始化 } void my_const::setData() { /*下面的复制操作中const修饰的成员不能修改*/ //m_iCon = 0; m_iTe = 8; } int my_const::set_data() const { /*错误*/ //m_iTe = 99; } int my_const::get_data() { cout << m_iTe << endl; } /** * const 修饰函数的参数(交换值函数) * const 作为返回值的情况一般修饰的指针常量(我很少用) */ int my_swap(const int &a,const int &b) { /*如果对a或者b赋值就会报错 错误代码如下*/ //a = 10; //报错: error: assignment of read-only reference 'a' }
相关文章推荐
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。(转)
- 【转】使用标准C++的类型转换符:static_cast、dynamic_cast、const_cast和reinterpret_cast
- [转]C/C++中关键字static,const,inline,define,typedef的用法及其意义
- 【转贴】使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。
- c++中const关键字使用详解
- C++中 const,extern,static,volatile的使用
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- C++中const的使用
- 使用标准C++的类型转换符--static_cast、dynamic_cast、reinterpret_cast、const_cast
- c++ const和指针复合使用说明
- 由一道笔试题谈C++中const的使用及const_cast转换
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。(转)
- C++中const的使用
- [C++] 使用const提高函数的健壮性
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。(转)
- C/C++中 const,extern,static,volatile的使用(转帖)
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。
- c++的意义。。(个人感觉使用c++可以接触到软件的本质,虽然不能直接开发快速但你可以有自由的感觉,尤其是指针,和直接贴近内存的本质)