Effective C++ 详解条款23:宁以non-member、non-friend替换member函数

本文探讨了在C++编程中,为何在某些情况下使用non-member函数优于member函数,主要考虑因素包括增强封装性、提高封装灵活性和可扩展性。通过举例解释,指出non-member函数对数据的封装效果更好,减少了编译依赖,增加了代码的可扩展性。同时强调,这一原则仅适用于non-member和member函数的比较,而不涉及friend函数。建议将便利函数组织在同一个命名空间内,以便于客户端扩展。
摘要由CSDN通过智能技术生成

总结:

宁可拿non-member non-friend函数替换member 函数。这样做可以增加封装性、包裹弹性(packaging flexibility)和机能扩充性。

举例:一个class用来表示网页浏览器。这样的class可能提供的众多函数中,有一些用来清除下载元素高速缓存区、清除访问过的URLS的历史记录、以及移除系统中的所有cookies

class webBrowser {
   
public:
    ...
	void clearCache( );
    void clearHistory ( );
    void removeCookiesi );
    .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值