您的位置:首页 > 编程语言 > C语言/C++

Exceptional C++ Style之16

2006-03-09 16:34 344 查看
第16条 (几乎)私有
顺序,顺序。这里说的是重载三部曲——名字查找,重载决议,可访问性检查。这里写这个是因为重载决议在可访问性检查之前。所以出现可访问性问题,编译器不会因为隐式转换而通过重载避开,这里就是一个编译错误。Public和private是控制可访问性,而不是可见性,这点很重要。
对于一个私有变量来说,似乎是无法保护的,C++中 存在强大的指针,可以在知道内存布局的情况下,进行很越轨的操作。但是目前我不清楚如何对函数进行同样的控制,我不能通过对象知道成员函数的地址,也许虚 函数的指针是个契机,我没有具体尝试过,事实上,这是牛角尖的问题。具有访问权限的函数也有能力泄漏成员的指针,而把权力授权给他人。

在这个地方模板函数也是问题所在,因为可以针对模板函数进行特化,在特化函数中的得到访问授权。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: