23 宁以non-member、non-friend 替换member函数 原因 member函数可以访问private 成员变量,降低了private 成员的封装性;而non-member、non-friend 函数不会。降低编译依存关系,增加包裹弹性,如下图:增加可扩充性。举个例子,如果某个 WebBrowser 客户决定写些与影像下载相关的便利函数,他只需要在WebBrowserStuff命名空间内建立一个头文件,内含那些函数的声明即可。新函数就像其他旧有的便利函数那样可用且整合为一体。