私有数据类与成员变量

时间:2013-10-29 16:46:14

标签: c++

我工作的地方有两种不同的编码方式:

  1. 有些程序员会在他们工作的类中创建一个类,并在那里存储成员数据变量。

  2. 其他人在类中声明成员变量并将其标记为私有。

  3. 我很好奇哪个更好,假设一个是。另外,创建私人课程会给您带来什么好处?这只是一所旧学校与新学校的事情吗?

    例如:

    class CPOMSCTE104DeviceCOMHandler
    {
    public:
        //Stuff
    
    private:
        class CPrivateData;
        std::auto_ptr<CPrivateData> m_cPrivateData; //All member variables go in here
        friend class CPrivateData;
    }
    

    谢谢!

1 个答案:

答案 0 :(得分:3)

这种具有嵌套私有类的模式称为PIMPL习语

https://anteru.net/2009/03/14/385/

它被广泛用于增加构建时间并从头文件中删除实现细节,增加了内存分配的成本。