기본 콘텐츠로 건너뛰기

8월, 2012의 게시물 표시

Singleton 객체 만들기

프로젝트에서 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); }

C++ 0x : 람다(Lambda)

원문:  http://scor7910.tistory.com/55 Visual C++ 팀블로그에 C++0x에 대한 소개 자료중 람다(Lambda)에 관한 내용을 번역했습니다. 차후에 나머지도 번역해서 올리겠습니다. 번역이 만만치 않은 작업이근영....  원본 :  http://blogs.msdn.com/vcblog/archive/2008/10/28/lambdas-auto-and-static-assert-c-0x-features-in-vc10-part-1.aspx Lambdas, auto, and static_assert: C++0x Features in VC10, Part 1 마이크로소프트   비절   스투디오  2010CTP(Community Technology Preview) 에서는  C++ 0x 에   포함된   lambdas ,  auto ,  static_assert , rvalue references   라는  4 가지의   개념을   제공합니다 .    여기서는   처음   세가지에   대해   이야기를   하겠습니다 . 첫번째로   ,  내용을   쓰기전 ..: 1.  이   포스트는  Visual C++  라이브러리   개발자인 Stephan T. Lavavej  님이 작성했습니다 .  그리고   Stephan T. Lavavej 님이   위의   네가지   기능에   대한   구현을   담당하지   않았음을   밝힘니다 . 2.  내용에서  VS 2010 에서  Visual C++  컴파일러를  VC10 이라고   칭할   것   입니다 (10 은  2010 의   약어가   아님 ). 3. C++0x 는   아직   논의   중인   차세대  C++  표준을   의미합니다 . ( 표준   위원회 (The Standardization Committee) 2009 에  C++09 라는   이름으로   발표되기   원하지만  2010 이나   더   걸릴수   있기   때문에  x 를   붙였다