C++中私有虚函数的命名通常遵循怎样的规范?

5

在C++中,私有虚函数是否有通用的命名约定?我见过如 do_something(...)something_vfunc(...) 等约定。在C++项目中通常使用哪种约定?


mvp_doSomething()。成员、虚函数、私有。 - Luchian Grigore
不,有许多惯例。 - juanchopanza
3
@mvp_hwnd_getHandle()... 愤怒,无法控制的愤怒... jons34yp - 遵循与变量相同的约定? - MrFox
4个回答

3
标准中使用的约定(例如在许多std::numpunct中)是do_something是一个protectedvirtual方法,而something是一个public的非virtual方法,它调用了它。

1
我使用前缀dyn_。因此你可能会看到:
class t_type {
public:
    /* ... */
    void method() {
        this->dyn_method();
    }

private:
    virtual void dyn_method() const = 0;
};

class t_subtype : public t_type {
public:
    /* ... */
private:
    virtual void dyn_method() const {
        ...
    }
};

就一般而言,我不确定。


1

我相信有很多惯例。我倾向于使用尾随的Impl_impl,具体取决于方法名称的惯例。因此,ComputeFoo根据需要调用ComputeFooImpl


1
不同的团队和人使用不同的标准。我的个人标准是不添加任何特殊的前缀或后缀。名称应该代表这个函数所做的事情。IDE将帮助您查看它是否为私有或受保护的、虚拟的或非虚拟的。是的,将虚拟函数设置为私有或受保护的是一个好习惯,但如果您只是为了遵循这个原则而添加新函数,请三思而后行。

我同意。现代IDE在提供代码提示方面做得很好。给变量名添加后缀和前缀是老派的做法。这使它们(在我看来)更难看且更难解释。 - Nav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接