总结C++中const的用法

 我来答
手机用户22624
2011-06-30 · TA获得超过216个赞
知道答主
回答量:426
采纳率:0%
帮助的人:253万
展开全部
const有两种用法:
class A
{
public:
void fun1()const;
void fun2(const int& arg);
private:
int m_arg;
static int m_static;
}
先看第一种用法,这个const关键词表示在该成员函数中不可以对该类的数据成员m_arg进行修改。这就是const成员函数的意义。
再看第二种用法,表示向该成员函数传递过来的int型引用不可以在成员函数中修改。这就是const参数的意义。

static的用法:
你首先要知道,一般的成员函数(也算就是不带有static修饰)经过C++编译器预处理之后会给它加上一个this参数,再次以上一个类为例:
其中成员函数fun2,在编译器预处理之后会变成fun2(this,arg);这时候要访问成员数据都是通过这个this指针来访问的,如this->m_arg。由于每一个类对象的this指针不同,所以他们可以访问自己的成员变量。
要是没有static修饰,这个成员函数在预处理之后就不会加上this参数。这样的成员函数由于没有this参数就没法访问m_arg数据成员。这可以访问被static修饰的m_static数据成员。注意,这里的static成员被该类的所有对象共享,而不属于任何一个具体的对象。
所以,总结一句static就是,类中静态数据成员一般使用静态成员函数来访问,这也是static的本意。当然也可以在一般的成员函数中访问,但是非静态数据成员必须使用非静态成员函数访问,不可以使用静态成员函数访问。

over!不知你有没有懂,一般对于出初学者来说要想理解,还是有点为难的。但是坚持一下,你就会发现你懂的人家不懂,那是你会很有成就感的。不懂就问,很好。
落叶长青
2011-07-01
知道答主
回答量:3
采纳率:0%
帮助的人:4069
展开全部
const 表示只读 一般有5种用法
修饰一般变量、数组 如: const int a = 5;
修饰指针: const int* p = NULL; int* const p = NULL; const int* const p = NULL;
修饰函数返回值类型: const int fun(){} ;
修饰类的成员函数:int fun()const;
修饰函数的参数:void fun(const int a);
仅供参考,建议如果想确切知道用法 还是去查找一下教程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bjrxyz
2011-06-29 · TA获得超过340个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:116万
展开全部
推荐你去看高质量c/c++编程指南,里面详细的讲了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式