DDang goon
땅군 Programming
DDang goon
전체 방문자
오늘
어제
  • 분류 전체보기 (44)
    • Programming (35)
      • C++ (7)
      • C# (1)
      • 유니티 (2)
      • 자료구조 (0)
      • 언리얼엔진 (25)
    • 게임 (1)
      • 이론 (0)
      • 서버 (1)
    • 기타 (0)
      • 면접 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 동시터치
  • 언리얼 뷰포트
  • 뷰포트 설정
  • 언리얼 블루프린트
  • 액터
  • 애니메이션 블루프린트
  • 애니메이션
  • 언리얼 엔진 액터
  • 언리얼 엔진
  • 언리얼 엔진 애니메이션 블루프린트
  • TELNET 안될 때
  • TELNET 사용법
  • 더블터치
  • 멀티터치
  • 언리얼 애니메이션
  • WINDOW10 TELNET
  • 텔넷
  • 언리얼
  • 텔넷 안될 때
  • Telnet

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DDang goon

땅군 Programming

Programming/C++

[C/C++] C++에서 싱글톤을 사용하는 방법/Lazy initialzation

2019. 9. 16. 10:52

싱글톤 패턴(Singleton Pattern)

어떤 클래스가 최초 한번 메모리를 할당한 후 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴

생성자가 여러번 호출되도 실제 생성된 객체는 하나고 최초 생성 이후 호출된 생성자는 최초에 생성한 객체를 반환

싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인패턴

 

장점

-사용하지 않으면 아예 인스턴스를 생성하지않음

-고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지

-전역 인스턴스이기 때문에 데이터를 공유하기 쉬움

-공통된 객체를 여러개 생성,사용할 경우 많이 사용

단점

-싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간에 결합도가 높아져 개방-폐쇠원칙을 위배하게 된다.

-멀티쓰레드 환경에서 동기화 처리를 안하면 인스턴스가 두개 생성되는 경우가 발생할 수도 있음

 

Lazy initialization?

Eager Initialization의 인스턴스를 사용하지 않더라도 인스턴스는 항상 생성된다는 단점을 보완한 방법이다.

그를 통해 원하는 시점에 초기화를 할 수 있다.

'Programming > C++' 카테고리의 다른 글

범위 지정 연산자(::)  (0) 2020.12.23
매크로 함수,인라인 함수  (0) 2020.12.23
매개변수의 디폴트 값  (0) 2020.12.23
비주얼 스튜디오 다중 문자열 검색  (0) 2020.08.04
[C/C++] Precompiled Header(미리 컴파일된 헤더)  (0) 2019.08.29
    'Programming/C++' 카테고리의 다른 글
    • 매크로 함수,인라인 함수
    • 매개변수의 디폴트 값
    • 비주얼 스튜디오 다중 문자열 검색
    • [C/C++] Precompiled Header(미리 컴파일된 헤더)
    DDang goon
    DDang goon

    티스토리툴바