总结C++中const的用法

总结C++中const的用法
最新回答
岁月和你两无言

2026-07-01 03:53:43

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!不知你有没有懂,一般对于出初学者来说要想理解,还是有点为难的。但是坚持一下,你就会发现你懂的人家不懂,那是你会很有成就感的。不懂就问,很好。
雾涣风月

2026-02-01 19:28:34

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);
仅供参考,建议如果想确切知道用法 还是去查找一下教程。
共起轻饮

2026-06-01 20:50:07

推荐你去看高质量c/c++编程指南,里面详细的讲了。