我在哪里工作,有两种不同的编码样式:


一些程序员将在他们正在工作的类中创建一个类,并将成员数据变量存储在该类中。
其他人在类中声明成员变量并将其标记为私有。


假设其中一个更好,我很好奇。此外,创建私人课程对您有什么好处?这只是旧学校还是新学校?

例如:

class CPOMSCTE104DeviceCOMHandler
{
public:
    //Stuff

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


谢谢!

最佳答案

这种带有嵌套私有类的模式称为PIMPL习惯用法

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

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

08-16 10:47