한 매우 유용한 기능 ++ C가 적절한 초기화 및 청소를위한 적절한 방법을 제공합니다 이상 :
은 아마 당신은 값으로 인스턴스를 반환하는라는 이름의 정적 멤버 함수를 찾고 있습니다 사용자 정의 유형의 인스턴스가 만들어져 잘 구성된 객체가 작업을 시작할 준비가되었습니다.
언어 생성자와 소멸자의 메커니즘을 통해이를 달성 할 수있다.
당신은 생성자와 소멸자가 존재하는 이유는 생성 된 인스턴스를 유지하기위한 참고도 모르기 때문에.
이제 static
은 모든 개체가 사용할 수있는 공통점이있을 때 사용되거나 적어도 사용됩니다. 여러분이 만드는 클래스의 모든 인스턴스들 사이에서 공유 될 무언가가 실제로있을 때 이것을 사용합니다.
그리고 클래스의 정적 데이터 멤버에 대한 인터페이스는 주로 정적 데이터 멤버에서 사용되는 정적 멤버 함수를 통해 제공됩니다. 생성자는 그것이 아마도 그래서 그림으로 온 이유는 정적 제작하여 주어진 정의는 이성의 라인 still
것을 의미한다 무엇을 고정 할 할 수있는 경우
그래서, (제대로 객체를 초기화하는 당신이 그것을 잡기 전에). 그래서 아무 객체도 없다면 생성자/소멸자를 갖는 것이 이치에 맞지 않습니다.
위의 행을 생각해 보면 적어도 C++에서는 생성자를 정적으로 유지하는 것이 바람직하지 않습니다. 따라서이 언어에서는 지원되지 않습니다.
먼저 정적 생성자가 무엇을 기대 하시겠습니까? 누락 된 기능에 대한 확고한 이유를 찾을 수 없다면 그 기능을 사용하는 것이 무엇입니까? –
나는 그 클래스의 생성자를 직접 호출하여 객체를 생성함으로써 해킹 할 것이다. static은 모든 멤버 객체를 정적으로 만들 것이지만, 유일한 이유는 무엇입니까? – Sankalp
정적이 아닌 클래스의 생성자를 직접 호출 할 수 있습니다. –