C++ 混合全局函数和类成员函数C++;

C++ 混合全局函数和类成员函数C++;,c++,C++,从类的成员函数调用全局函数是否不好?我的意思是这样可以吗 class MyClass { void print_numb(); }; int get_numb() { return 10; } void MyClass::print_numb() { cout << get_numb() << endl; } class-MyClass { 无效打印_numb(); }; int get_numb() { 返回10; } void MyCla

从类的成员函数调用全局函数是否不好?我的意思是这样可以吗

class MyClass
{
    void print_numb();
};

int get_numb()
{
   return 10;
}

void MyClass::print_numb()
{
     cout << get_numb() << endl;
}
class-MyClass
{
无效打印_numb();
};
int get_numb()
{
返回10;
}
void MyClass::print_numb()
{
cout如果
get_numb()
仅由实现
MyClass
的源文件使用,则我会将其放在该源文件的匿名命名空间中:

namespace /*no name here means the namespace is anonymous*/ {
    int get_numb()
    {
       return 10;
    }
}

这就隐藏了它。我更喜欢在类中使用静态私有函数,因为它减少了类声明中的内容量。

从技术角度来看,这是绝对正确的:独立函数,全局函数和静态函数,都是语言的一部分。没有理由不使用它们

风格也可以,标准的C++库提供独立的功能,所以语言的设计者对于混合成员和非成员函数的想法是肯定的。


<>当然,你应该利用C++特性,让你的函数与你链接的库中的函数隔离——通过将它们的可见性降低到单个翻译单元,或者将它们放在命名空间中。

看起来很好,你在寻找样式建议吗?我认为最好有名字空间,RATH。比在周围晃来晃去“糟糕”?如果你打电话给
cout