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

登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 3441|回复: 7

C++ const member function

[复制链接]

20

主题

42

帖子

542

积分

高级会员

Rank: 4

积分
542
发表于 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

主题

24

帖子

514

积分

高级会员

Rank: 4

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

使用道具 举报

14

主题

37

帖子

535

积分

高级会员

Rank: 4

积分
535
发表于 2020-2-11 00:41:46 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

32

帖子

682

积分

高级会员

Rank: 4

积分
682
发表于 2020-2-11 16:55:05 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

0

主题

20

帖子

430

积分

中级会员

Rank: 3Rank: 3

积分
430
发表于 2020-2-18 05:18:59 | 显示全部楼层
我看不错噢 谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

15

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
发表于 2020-2-19 00:38:06 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

0

主题

18

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
发表于 2020-2-29 20:44:11 | 显示全部楼层
这个帖子不回对不起自己![www.12360.co]
回复

使用道具 举报

15

主题

32

帖子

412

积分

中级会员

Rank: 3Rank: 3

积分
412
发表于 6 天前 | 显示全部楼层
既然你诚信诚意的推荐了,那我就勉为其难的看看吧![www.12360.co]
回复

使用道具 举报

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

本版积分规则

动物之森

GMT+8, 2020-4-5 23:27 , Processed in 0.089094 second(s), 27 queries .

www.12360.co 集合吧!动物之森

Copyright © 2019-2020.

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