본문 바로가기
프로그래밍 언어/C++

싱글턴 패턴 적용

by 규봉봉이 2024. 8. 21.

프로그램을 개발하다 보면 예상치 못한 동작이 발생하여 프로그램 에러가 발생하게 된다

이러한 부작용을 줄이기 위한 다양한 방법이 있지만 이 글에서는 싱글턴 패턴을 사용한 방법을 포스팅한다

 

싱글턴 패턴은 말 그대로 '어플리케이션에서 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장하는 디자인 패턴' 이다

c++에서 아래와 같이 구현할 수 있다

class noncopyable
{
 public:
  noncopyable(const noncopyable&) = delete;
  void operator=(const noncopyable&) = delete;

 protected:
  noncopyable() = default;
  ~noncopyable() = default;
};

 

복사생성과 '='를 통한 대입연산을 delete로 막아 놓았다. 그리고 이 클래스 자체가 싱글턴이기 때문에 이 클래스를 상속받은 모든 클래스 또한 하나의 객체만 생성하게 된다. 이러한 패턴을 취함으로 파일 핸들, 네트워크 소켓, 뮤텍스와 같은 시스템 자원이 무분별하게 복사되는 문제를 미연에 방지할 수 있다. 

 

'프로그래밍 언어 > C++' 카테고리의 다른 글

멀티 쓰레딩 - try_lock  (0) 2025.05.13
멀티 쓰레딩 - std::lock_guard  (0) 2025.05.12
std::count_if  (1) 2024.07.23
사용자 정의 리터럴(literal)  (1) 2024.07.23
std::tie  (1) 2024.07.23