2010-07-15 2 views
11

둘러 보았습니다. 2 개 이상의 C++/CLI 파일에서 작동하는 Singleton 클래스에 대한 예제가 필요합니다.C++/CLI의 싱글 톤 예제?

C#이 아닌 C++/CLI에서 어떻게 싱글 톤을 선언합니까?

두 개 이상의 C++/CLI 파일에서 어떻게 그 싱글 톤을 공유합니까?

나는 그 싱글 톤을 공유하려고 할 때 계속 변수 재정의를 계속합니다.

+0

더 구체적으로 설명해야합니다. 게으른 초기화가 필요합니까? 스레드로부터 안전해야합니까? 처리가 필요합니까? –

+0

예제 ... C++. NET 싱글 톤은 없습니다. 나는 재정의 오류를 얻었고, 관리해야 할 필요가있다. 그러나 수업은 이미 byref이다. 나는 필요를 얻는다. "; "}"전에는 변수 뒤에 ":"가 필요합니다. – buttercup

+0

1 주일 정도이 질문을 드리겠습니다. 답변이 없으면이 질문에 현상금을 부과 할 것입니다 ... 이것은 인터넷에서 사용할 수있는 솔루션이 0 개있는 경우 거의 불가능한 질문입니다. – buttercup

답변

15

유용 할 수없는 일명 C++. NET "C++를위한 확장 관리 .NET". Managed Extensions (Visual Studio 2002-2003)를 사용하지 마십시오. 버그가 있습니다. 동일한 프로젝트 "여러 파일", 다른 컴파일 유닛 #include를 사용로서는

ref class Singleton 
{ 
private: 
    Singleton() {} 
    Singleton(const Singleton%) { throw gcnew System::InvalidOperationException("singleton cannot be copy-constructed"); } 
    static Singleton m_instance; 

public: 
    static property Singleton^ Instance { Singleton^ get() { return %m_instance; } } 
}; 

는 다른 어셈블리는 기준 (또는 #import)를 사용한다. 그러면 재정의 문제는 없을 것입니다.

+0

그리고 이것을 어떻게 부릅니까? – marsh