-
싱글턴 패턴 적용프로그래밍 언어/C++ 2024. 8. 21. 19:48
프로그램을 개발하다 보면 예상치 못한 동작이 발생하여 프로그램 에러가 발생하게 된다
이러한 부작용을 줄이기 위한 다양한 방법이 있지만 이 글에서는 싱글턴 패턴을 사용한 방법을 포스팅한다
싱글턴 패턴은 말 그대로 '어플리케이션에서 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장하는 디자인 패턴' 이다
c++에서 아래와 같이 구현할 수 있다
class noncopyable { public: noncopyable(const noncopyable&) = delete; void operator=(const noncopyable&) = delete; protected: noncopyable() = default; ~noncopyable() = default; };
복사생성과 '='를 통한 대입연산을 delete로 막아 놓았다. 그리고 이 클래스 자체가 싱글턴이기 때문에 이 클래스를 상속받은 모든 클래스 또한 하나의 객체만 생성하게 된다. 이러한 패턴을 취함으로 파일 핸들, 네트워크 소켓, 뮤텍스와 같은 시스템 자원이 무분별하게 복사되는 문제를 미연에 방지할 수 있다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
std::count_if (1) 2024.07.23 사용자 정의 리터럴(literal) (1) 2024.07.23 std::tie (1) 2024.07.23 C++17 구조화된 바인딩(structured bindings) (0) 2024.07.23 생성자 이니셜라이저(initializer list) (0) 2024.07.23