이니셜라이저의 성능 향상에 대하여
Programming/C++ 2012. 9. 20. 22:10 |※ 이니셜라이저를 이용하면 선언과 동시에 초기화가 이뤄지는 형태로 바이너리 코드가 생성된다.
즉, 34~35행은 AAA mem = ref; 로 해석이 된다.
그러므로 복사 생성자만 호출이 된다.
하지만 45~48행은 생성자와 대입연산자 이 두개가 호출이 된다.
즉, AAA mem;
mem = ref; 이렇게 해석이되므로 인해.. 생성자 호출이 되어지고 그다음 대입연산자가 호출이 된다.
※ 생성자의 몸체부분에서 대입연산을 통한 초기화를 진행하면, 선언과 초기화를 각각 별도의 문장에서 진행하는 형태로 바이너리 코드가 생성된다.
위의 예제에서 보이듯이 이니셜라이저를 이용해서 초기화를 진행하면, 함수의 호출횟수를 줄일 수 있어서, 그리고 초기화의 과정을 단순화시킬 수 있어서 약간의 성능향상을 기대할 수 있다.
'Programming > C++' 카테고리의 다른 글
const 함수를 이용한 오버로딩의 활용 (0) | 2012.09.21 |
---|---|
배열의 인덱스 연산자 오버로딩 (0) | 2012.09.20 |
상속 구조에서의 대입 연산자 호출 (0) | 2012.09.13 |
디폴트 대입 연산자의 문제점 (0) | 2012.09.11 |
대입 연산자의 오버로딩2 (0) | 2012.09.10 |