카테고리 없음

생성자 이니셜라이저

zuyo 2019. 5. 9. 01:52
반응형

생성자에서 멤버를 초기화 할 때, 둘 중 어느 방법이 성능 향상에 도움을 줄까?

1. 이니셜라이저로 초기화

Boy(int _age) : age(_age) {
}

2. 생성자 몸체에서 = (대입연산자)로 초기화

Boy(int _age) {
    age = _age;
}

결론부터 말하면 이니셜라이저로 초기화하는게 성능에 더 좋다.

이니셜라이저를 이용하면 선언과 동시에 초기화가 이루어지는 형태로 바이너리 코드가 생성된다.
반면, 생성자 몸체에서 대입연산(=)을 통해 초기화를 하면, 선언과 초기화가 따로따로 이루어지는 형태로 바이너리 코드가 생성된다.

반응형