游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: penghao_xmu

关于类中的const函数声明问题,如果强制转换就不起作用了?

[复制链接]

18

主题

82

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-10-21 17:51:00 | 显示全部楼层

Re:关于类中的const函数声明问题,如果强制转换就不起作用

但是可以在const函数中改变类型为muable的变量

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2007-10-21 18:37:00 | 显示全部楼层

Re: Re:关于类中的const函数声明问题,如果强制转换就不起作

zpk1234: Re:关于类中的const函数声明问题,如果强制转换就不起作用了?

但是可以在const函数中改变类型为muable的变量


muable是什么概念?百度搜不到,能给点详细的解释么?

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2007-10-21 22:07:00 | 显示全部楼层

Re:关于类中的const函数声明问题,如果强制转换就不起作用

在C++中,mutable是为了突破const的限制而设置的

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2007-10-22 17:46:00 | 显示全部楼层

Re:关于类中的const函数声明问题,如果强制转换就不起作用

哦,懂了,原来是mutable,谢谢funcman

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
发表于 2007-10-23 22:38:00 | 显示全部楼层

Re:关于类中的const函数声明问题,如果强制转换就不起作用

mutable 就是忽悠人的,比强制转换强不了多少

6

主题

65

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2007-10-26 20:53:00 | 显示全部楼层

Re: Re:关于类中的const函数声明问题,如果强制转换就不起作

penghao_xmu: Re:关于类中的const函数声明问题,如果强制转换就不起作用了?

但是GetA() 是声明为const 的函数
这个const到底是什么意思,通过const声明的函数出去居然能改动原来的数据成员,这和const不是有矛盾么?


函数后加const修饰符,表示这个函数是类的“访问函数”,“访问函数”执行时,不会修改类的成员。

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-10-26 22:57:00 | 显示全部楼层

Re:关于类中的const函数声明问题,如果强制转换就不起作用

const函数实质是将本函数this指针限定为const,从而无法通过其修改成员。

const并不保证数据绝对不会被修改,作一些简单的强制转换就可以去掉const限制(正规一点可用const_cast)。所以不用等到返回,在内部就可以修改。

暴露私有成员的不是C++,而是你的公有函数,这基本符合OO精神 :)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 03:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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