您的位置:首页 > 编程语言 > C语言/C++

const在C++的使用策略和意义

2018-01-13 10:28 246 查看
主要是下面两个方面

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'
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐