2015년 9월 13일 일요일

[C++11] Delegating constructor

Delegating constructor
: C++11 부터는 생성자에서 다른 생성자를 호출할 수 있다.


Point() 생서자 안에서 Point(0, 0); code 는 무엇을 의미하는 것일까?
보기에는 x, y 를 0, 0으로 초기화하도록 하는 생성자를 호출하는 것 처럼 보일 수 있다.
하지만 이 코드는 생성자를 호출하는 것이 아니라 임시 객체를 생성하는 코드이다.

하지만 C++11 에서는 생성자안에서 다른 생성자를 호출 할 수 있다.

또한 멤버 변수 선언과 동시에 초기화도 지원한다.







댓글 없음:

댓글 쓰기

[C++] meta programing

재귀 호출에 관해 template meta programming 을 적용한 예제를 살펴보자. #include using namespace std; int fact(int n){ if(n factorial 연산을 하는 일반적인 재귀 호출 함...