반응형
오늘의 주제 : 초기화 리스트
멤버 변수 초기화? 다양한 문법이 존재
초기화 이유
ㅡ버그 예방에 중요
ㅡ 포인터 등 주소값이 연루되어 있을 경우
초기화 방법
ㅡ 생성자 내에서
ㅡ 초기화 리스트
ㅡ 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 |