。
博客地址为http://roclinux.cn。
文章作者为roc wu
==
【规范】
优先使用“具有名字空间的非成员函数”和“静态成员函数”,尽量不使用全局函数。
【支持者的声音】
非成员函数和静态成员函数在一些场景下是非常有用的。而且把非成员函数放到一个名字空间中,可以有效的避免“污染”到全局名字空间。
【反对者的声音】
非成员函数和静态成员函数,从某种意义上说,更像是一个新类的成员函数,尤其是当这些函数还要访问外部资源时。
【决定】
在一些场景下,的确有必要定义一些不依附于任何类的函数,它们往往以非成员函数和静态成员函数的形式存在。
非成员函数不应该依赖于外部的变量,且应该被放置在一个名字空间中。
假如一组静态成员函数之间并不共享数据,那么没必要为这组静态成员函数创建一个类,而用名字空间来管理就可以了。
如果你要定义一个非成员函数,并且仅在.cc/.cpp文件中使用它,那么可以将其放在匿名名字空间中,或者使用static(如static int Foo() {&http://tiancai-z.stor.sinaapp.com/pictures/month_1401/201401160315106511.jpg8230;})关键字来限制其作用域。
谢谢!
网友评论已有0条评论, 我也要评论