变量名后边加下划线是什么命名规则

变量名后面加下划线是什么命名规则?
class ScopeGuard
{
public:
    explicit ScopeGuard(std::function<void()> onExitScope)
        : onExitScope_(onExitScope), dismissed_(false)
    { }

    ~ScopeGuard()
    {
        if(!dismissed_)
        {
            onExitScope_();
        }
    }

    void Dismiss()
    {
        dismissed_ = true;
    }

private:
    std::function<void()> onExitScope_;
    bool dismissed_;


private: // noncopyable
    ScopeGuard(ScopeGuard const&);
    ScopeGuard& operator=(ScopeGuard const&);
};


这种private成员变量后面加下划线是常见的风格吗?
------解决方案--------------------
记得在loki和chromium经常这样干,用来表示成员。
------解决方案--------------------
源自于编译器设计行业的惯用风格,表示底层实现,后来延伸到类的设计,表示类的底层实现。