프로그램을 개발하다 보면 예상치 못한 동작이 발생하여 프로그램 에러가 발생하게 된다
이러한 부작용을 줄이기 위한 다양한 방법이 있지만 이 글에서는 싱글턴 패턴을 사용한 방법을 포스팅한다
싱글턴 패턴은 말 그대로 '어플리케이션에서 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장하는 디자인 패턴' 이다
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 |