找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2625|回复: 0

C++函数后面的const是什么意思?

[复制链接]

130

主题

44

回帖

3万

积分

管理员

积分
39544
发表于 2025-3-26 09:42:12 | 显示全部楼层 |阅读模式
                C++函数名后面有个const                        
                           
‌函数名后面加const表示该函数是一个常成员函数,即该函数不会修改类的任何成员变量。‌
在C++中,常成员函数通过在函数声明和定义后添加const关键字来标识。常成员函数不能修改类的任何成员变量,这保证了类的接口的稳定性。例如:

class Point {
public:
int GetX() const; // 常成员函数,不能修改成员变量xVal
int GetY() const; // 常成员函数,不能修改成员变量yVal
private:
int xVal, yVal;
};

在上面的例子中,GetX()和GetY()都是常成员函数,因为它们不会修改xVal和yVal成员变量‌1。
常成员函数的用途和限制
  • ‌用途‌:常成员函数通常用于获取类的状态信息,而不改变类的状态。例如,获取对象的属性值。
  • ‌限制‌:常成员函数不能调用非const成员函数,因为非const成员函数可能会修改类的成员变量,这与const成员函数的定义相冲突。例如:
    const Point p;
    p.SetPt(1, 2); // 错误,SetPt是修改成员变量的非const成员函数
    p.GetX(); // 正确,GetX是常成员函数

    在上面的例子中,尝试使用const对象调用非const成员函数SetPt会导致编译错误,因为SetPt可能会修改对象的成员变量,而p是一个const对象,其成员变量不应被修改‌



转载自 https://www.cnblogs.com/chentiao/p/18536084



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|flightreview|小黑屋|PX4-Autopilot|PX4论坛

GMT+8, 2026-4-30 07:47 , Processed in 0.167203 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表