프로젝트에서 Setting들을 저장하기 위해서 Singleton 객체를 만들어서 사용하곤 했었는데 이제껏 만들어 사용하던 것이 잘못되어 있던 것을 발견했습니다. class CAppDocData { CAppDocData(void); public: static CAppDocData& GetInstance(); ~CAppDocData(void); } 위의 클래스는 아래와 같이 복사 생성이 허용되기 때문에 Singleton 패턴이 깨어져 버립니다. CAppDocData docData = CAppDocData::GetInstance(); 따라서 복사 생성자를 private으로 두어 복사 생성을 하지 못하게 막아야합니다. class CAppDocData { CAppDocData(void); CAppDocData(const CAppDocData& rhs){} public: static CAppDocData& GetInstance(); ~CAppDocData(void); }