프로그래밍/C++

초기화 리스트

우대비 2022. 10. 18. 17:10
반응형

오늘의 주제 : 초기화 리스트

 

멤버 변수 초기화다양한 문법이 존재

 

초기화 이유

ㅡ버그 예방에 중요

ㅡ 포인터 등 주소값이 연루되어 있을 경우

 

초기화 방법

ㅡ 생성자 내에서

ㅡ 초기화 리스트

C++11 문법

 

초기화 리스트

ㅡ 일단 상속 관계에서 원하는 부모 생성자 호출할 때 필요하다

ㅡ 생성자 내에서 초기화 vs 초기화 리스트

ㅡㅡ일반 변수는 별 차이 없음

ㅡㅡ 멤버 타입이 클래스인 경우 차이가 나

ㅡㅡ 정의함과 동시에 초기화가 필요한 경우 (참조 타입, const 타입 )

 

 

 

class Knight : public Player
{
public:
        Knight() : Player(), _hp(100), _inventory(20), _hpRef(_hp), _hpConst(100)
        /*
            선처리 영역
            Inventory()
        */
        {


        }

public:
        int _hp;
        Inventory _inventory;
        
        int& _hpRef;
        const int _hpConst;
};

위처럼 클래스 내에 변수 생성 후 생성자 옆에 리스트를 만들어서 초기화해주면 됨

반응형
LIST

'프로그래밍 > C++' 카테고리의 다른 글

virtual 소멸자  (0) 2022.10.22
동적할당  (0) 2022.10.20
C++ 게임프로그래밍전문가자격증 필기 21-2 B형 2번 포인터 문제  (0) 2022.08.17
C++ 정수  (0) 2022.08.12
가변인자  (0) 2022.08.11