请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 3428|回复: 3

C++ const member function

[复制链接]

20

主题

30

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
发表于 2020-1-26 18:51:59 | 显示全部楼层 |阅读模式
C++ const member function


const member function

在函數定義後面加上const就成了const member function,它的作用是確保在函數裡面不會有成員變數被意外地修改。在const member function內,如果嘗試去修改任一成員變數,都會造成編譯錯誤。
另外注意:一個const object只能調用const member function;
一般的物件則可以調用一般的成員函數或是const member function。
在TensorRT/samples/common/buffers.h中DeviceAllocator的成員函數operator()被定義為const member function:
  1. class DeviceAllocator{public:    //注意其參數是指標的指標void**    bool operator()(void** ptr, size_t size) const    {        return cudaMalloc(ptr, size) == cudaSuccess;    }};
复制代码
(但是DeviceAllocator這個類別並沒有成員變數,因此沒有擔心成員變數被修改的問題,那麼此處將operator()定義為const member function的用意何在?)
參考連結

Meaning of ‘const’ last in a function declaration of a class?
Const member functions in C++
                                                                                                                                       
                                                    
  • 点赞                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        keineahnung2345                                                                发布了99 篇原创文章 · 获赞 9 · 访问量 6万+                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:2020年Java学习计划祝大家新年快乐
下一篇:HDR案例分析
回复

使用道具 举报

0

主题

11

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2020-1-28 17:19:47 | 显示全部楼层
感谢楼主的无私分享![www.12360.co]
回复

使用道具 举报

14

主题

24

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 7 天前 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

17

帖子

367

积分

中级会员

Rank: 3Rank: 3

积分
367
发表于 7 天前 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 05:18 , Processed in 0.188002 second(s), 54 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

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