小编Swa*_*pna的帖子

你会在哪里使用友元函数而不是静态成员函数?

当我们希望它访问该类的私有成员时,我们将非成员函数作为类的朋友.这赋予它与静态成员函数相同的访问权限.两种选择都会为您提供一个与该类的任何实例无关的函数.

什么时候必须使用朋友功能?什么时候必须使用静态函数?如果两者都是解决问题的可行方案,那么我们如何权衡它们的适用性呢?是否有一个默认情况下应该首选?

例如,当实现一个工厂创建foo只有私有构造函数的类的实例时,工厂函数应该是foo(你会调用foo::create())的静态成员还是应该是友元函数(你会调用create_foo())?

c++ friend-function static-functions

61
推荐指数
6
解决办法
2万
查看次数

标签 统计

c++ ×1

friend-function ×1

static-functions ×1