6.9

2025. 6. 9. 20:54게임인재원/수업요약

반응형

동적 멤버변수는 소멸자에서 삭제
-> 그렇다면 객체가 사라질때 삭제하지 않는다면 동적 멤버변수는 남아 있음? 예.
멤버가 갖고 있는건 포인터일 뿐이고 동적할당한 데이터는 힙에 그대로 남아있음. 객체가 사라지면
해당 주소를 가르키는 포인터가 사라지기 때문에 메모리 누수 발생

멤버변수도 지역변수와 마찬가지로 초기화 필요.
위임생성자?
특히 배열에 대한 전달은 방식이 여러가지임. 상황에 따라 다를 수 있으니 숙지
포인터, 참조 전달. 크기전달, 배열 통채로 전달 등등..;;

객체의 멤버함수는 this pointer도 전달됨. class의 메서드는 코드영역에 유일하게 존재하기 때문에
어떤 객체에서 호출했는지 알아야 함.

const의 의미
1. 상수다. 상수 객체. 상수객체는 멤버들도 변경 불가.
2. 상수 멤버 함수(한정자) -> 또한 함수 overload
상수 객체가 되면, 상수 멤버, 메서드에만 접근가능.
3. 반환형에도 가능 함으로 주의. const int 

const pointer 형.
참조하고 있는 대상을 변경하지 않음.
const int * p 
int const * p     
객체에 대해 const pointer 선언도. 상수 멤버변수, 메서드만 접근가능
============
주소를 변경하지 않겠음.
int * const p 

const도 여기저기 다붙히네;

mutable -> const 함수내에서 변경 허용. 일반 메서드에서도 가능 

static 메서드의 경우 객체가 아닌 class 공용으로. this pointer 전달X
수명도 객체와 전혀 관계가 없음.
this가 없으므로 멤버변수 접근불가.

'게임인재원 > 수업요약' 카테고리의 다른 글

6.5  (1) 2025.06.09
6.2  (0) 2025.06.09
4.10 ~ 4.11  (0) 2025.04.11
4.5 ~ 4.9  (0) 2025.04.11
4.3, 4.4 Class 상속, 다형성  (0) 2025.04.03