c++

C++ 개인 필기(7) 생성자 소멸자

Voitcon 2024. 1. 26. 18:20

멤버 변수 표기법(필수 아님) 예) UStaticmeshcomponent m_staticmesh << m_붙이기 or Mstaticmesh or _언더바만

클래스 안에서 자기의 멤버변수를 사용할때 -> this-> 사용

언리얼엔진5에서도 자기 자신을 가리킬때 특히 키 바인딩의 경우 BindAxis(FName("바인드이름"),this <-자기 자신을 가리킴)

 

생성자(constructor) ->시작을 알리는 특별한 함수 , 반환 타입이 없음, 오버로딩 가능

언리얼엔진에서는 기본생성자가 기본적으로 코드 생성시 생성됨. 생성자에 초기화를 할경우 

에디터 상에서 게임이 실행되기전에 생성자가 실행됨.

소멸자(destructor) ->끝을 알리는 특별한 함수

소멸자는 오직 한개만 존제.

(1) 기본 생성자 (인자가 없음) 예 ACHARACTER :: ACHARACTER() <-언리얼 엔진

ACHARACTER(int speed) -> 일반 생성자

(2) 복사 생성자 : 자기자신의 참조값을 인자로 받음 예) speed=character.speed;

ACharacter(const ACharacter& character) -> 같은 객체를 만들때, 

ACharacter character2(character) -> 다른 객체를 복사해서 생성

일반적으로 똑같은 데이터를 지닌 객체 생성

 

복사 생성자는 100퍼 확률로 const가 붙는다.

 

**암시적(implicit) 생성자 -> 생성자를 명시적으로 만들지 않으면 아무 인자도 받지 않는 기본 생성자가 컴파일러에 의해 자동으로 만들어짐

if(명시적(explicit) 로 아무 생성자를 만들면 기본생성자는 만들어 지지 않는다.**