C ++中的私有虚函数是否有通用的命名约定?

时间:2012-08-09 20:09:32

标签: c++ coding-style naming-conventions

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

4 个答案:

答案 0 :(得分:2)

标准中使用的惯例(例如,在许多std::numpunct中)是do_somethingprotected virtual方法,something是{{ 1}}非public方法,可以调用它。

答案 1 :(得分: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 {
        ...
    }
};

就普通人而言 - 我不确定。

答案 2 :(得分:1)

我确信有很多惯例。我倾向于使用尾随Impl_impl,具体取决于方法名称其余部分的约定。因此,ComputeFoo会根据需要调用ComputeFooImpl

答案 3 :(得分:1)

不同的团队和人员使用不同的标准。我个人不会添加任何特殊的前缀或后缀。名称应代表此功能的作用。 IDE将帮助您查看它是私有还是受保护,是否为虚拟。是的,将虚拟功能设为私有或受保护是一种很好的品味,但如果你只是为了遵循这个原则而添加新功能 - 请三思而后行。