티스토리 뷰

Language/C++

[C++] 멤버 이니셜라이저

Mr.SIM 2013. 10. 5. 23:57

멤버이니셜라이저는 클래스에서 변수를 초기화 하기위한 방법이다.

#include "childtest.h"


childtest::childtest(int a, int b) : m_a(a), m_b(b)
{
	cout<<"childtest생성"<<endl;
}


childtest::~childtest(void)
{
	cout<<"childtest소멸"<<endl;
}


void childtest::showmember(){
	cout<<m_a<<", "<<m_b<<endl;
} 




다음과 같이 초기화시킬 수 있다. 객체를 생성할 때, 메모리 공간이 할당되면 바로 생성자몸체가 아닌, 이니셜라이저를 통해 멤버가 초기화되고, 몸체가 실행된다.
 


단순, 몸체에서 실행하는 것과는 다른 차이가 있다. 우선은 성능적으로 멤버 이니셜라이저가 더 좋다고한다. 또한, const변수도 초기화할 수 있다. 몸체에 넣게되면 const의 경우 바로 초기화되지 않아 오류를 발생하지만, 멤버이니셜라이저는 const도 초기화할 수 있다.

'Language > C++' 카테고리의 다른 글

[C++] 예외처리  (0) 2013.10.06
[C++] 함수템플릿과 템플릿함수  (0) 2013.10.06
[C++] 생성자와 소멸자  (0) 2013.10.05
[C++] namespace  (0) 2013.10.05
[C++] 매개변수의 디폴트 값  (0) 2013.10.05
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday