C++14

    [C++] 객체지향 프로그래밍: static, explicit, mutable, default, delete...

    static 총 생성된 인스턴스의 수를 구하는 클래스가 있다고 하면? 어떻게 구현할 것인가? 대부분이 전역변수를 설정하여 구한다고 할 것이다. 전역변수의 경우 프로젝트의 크기가 커질수록 실수로 인해 겹쳐서 오류가 날 수 있어 사용하지 않는 편이 좋다. 따라서 전역변수 설정을 피하기 위해서 나온 클래스에만 종속되는 변수가 'static' 이다. 이 static 멤버 변수의 경우, 클래스의 모든 객체들이 '공유' 하는 변수로써 각 객체 별로 따로 존재하는 멤버 변수들과는 달리 모든 객체들이 '하나의' static 멤버 변수를 사용하게 된다. static 멤버 변수의 경우, 멤버 변수들 처럼, 객체가 소멸될 때 소멸되는 것이 아닌, 프로그램이 종료될 때 소멸된다. static 멤버 변수는 아래와 같이 정의한다..