社区
新手乐园
帖子详情
一个 const 问题
duoduo_uk
2008-08-04 06:50:56
弱弱的问一句,这里的const是啥意思?
double DataBase::getRate() const {
...
...
}
...全文
213
10
打赏
收藏
一个 const 问题
弱弱的问一句,这里的const是啥意思? double DataBase::getRate() const { ... ... }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大爷想要时光机
2008-08-06
打赏
举报
回复
常成员函数,不能修改成员变量的值
e_sharp
2008-08-05
打赏
举报
回复
const成员函数,表示该成员函数不会修改类成员
[Quote=引用 1 楼 yahreso 的回复:]
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
[/Quote]
说的不对,常成员变量,就是谁都不可以修改,常成员函数当然也没有这个特权。
赵Andy
2008-08-05
打赏
举报
回复
[Quote=引用 3 楼 elegant87 的回复:]
引用 1 楼 yahreso 的回复:
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
const 型的函数,不能修改类的成员变量!这样很好的!
[/Quote]
其中说的修改就是,不能用该函数修改成员变量的值。
taojian_hhu
2008-08-05
打赏
举报
回复
该函数在类中肯定声明为double getRate() const ;我们知道类的成员函数肯定是由该类的一个对象来调用的,而每个类对象都有一个隐含的this指针,在成员函数声明后面加上const表示this被隐式的声明为const YourClassName* this.不加const时则为YourClassName* this。
hahaysw
2008-08-05
打赏
举报
回复
[Quote=引用 4 楼 duoduo_uk 的回复:]
引用 1 楼 yahreso 的回复:
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
不好意思,再问一句,这里的操作是什么意思?修改?常成员变量不是不让修改吗?
另外,回楼上的,我试图在c++ primer里找,唉,恕我愚钝,没有找到。哪位大侠要是发现,烦请告诉一声,多谢了。
[/Quote]
厄,这个是const函数,不是const成员。类中的const变量的确不能修改。但是非const变量可以修改。
在const函数中,不管类成员变量是否为const,都不能修改。
另外,类的const对象只能访问const函数。非const对象可以访问const函数,也可以访问非const函数。
laiwing
2008-08-05
打赏
举报
回复
第10章节(P475)
你要好好看一遍这本书才行
duoduo_uk
2008-08-04
打赏
举报
回复
[Quote=引用 1 楼 yahreso 的回复:]
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
[/Quote]
不好意思,再问一句,这里的操作是什么意思?修改?常成员变量不是不让修改吗?
另外,回楼上的,我试图在c++ primer里找,唉,恕我愚钝,没有找到。哪位大侠要是发现,烦请告诉一声,多谢了。
elegant87
2008-08-04
打赏
举报
回复
[Quote=引用 1 楼 yahreso 的回复:]
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
[/Quote]
const 型的函数,不能修改类的成员变量!这样很好的!
fred_fu
2008-08-04
打赏
举报
回复
關注一下。不知在C++primer中有提到沒,LZ可以查找一下。
yahreso
2008-08-04
打赏
举报
回复
该函数为常成员函数,此函数中不能修改类的成员变量,并且只有常成员函数才能对常成员变量进行操作。
const
与非
const
类型赋值
问题
const
与非
const
类型赋值
问题
以前总有个
问题
想不通,就是为什么从
const
char到char的赋值就会出错,而
const
int到int的赋值就没
问题
呢?呵呵,不知道有没有其他新手和我有相同的疑问呢?还算我运气好,今天不知道怎么会触发了灵感,终于把这个小白
问题
想通了。答案就是: 从
const
int到int的赋值操作,是一种对象的拷贝,赋值后我们在对象的副本上操作当然不会有
问题
。 从co...
int
const
*和int *
const
以及
const
int *
const
的区别
int
const
*是
一个
指向常量整数的指针 指向了
一个
不能被修改的值但是指针指向的地址可以改变
const
在数据类型的一侧,所以可以放在int的前面
const
int *,(从c++ prime了解到) #include <stdio.h> int main() {
const
int q = 5; int
const
*p = &q; // 等价于
const
int *p1 = &q;
const
int q2 = 7;
【C++】 --- 如果同时定义了两个函数,
一个
带
const
,
一个
不带,会有
问题
吗?
如果函数名相同,在相同的作用域内,其参数类型、参数个数,参数顺序不同等能构成函数重载。 有趣的是如果同时在类中,对于函数名相同参数列表也相同的成员函数的
const
函数和非
const
函数能够构成重载。 #include <iostream> int override_test(int a, int b) { return a + b; } int override_test(int a, float b) { return a + b; } /* int ov
const
char * 、char
const
*、 char *
const
三者的区别
C/C++ 中关于以下三种定义:
const
char *ptr; char
const
*ptr; char *
const
ptr; 整理三者之间的区别与联系。 一、
const
char *ptr; 定义
一个
指向字符常量的指针,这里,ptr是
一个
指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为
const
,不能修改。但是ptr...
int
const
*与int *
const
1. int
const
* int
const
*p与
const
int *p意义一样。 从右往左看,进行解析,这个p是个指针,而且是个常量,类型是整型。可称为指针常量 特点:*p指向
一个
整型的常量,但是不能通过修改p所指向内存单元的值,只能修改所指向的对象,或者通过改该对象的值。 such as: int a = 10; int b = 20; int c = 55; int ...
新手乐园
33,319
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章