본문 바로가기

Language/C++

객체초기화 ' = ' , ' ( ) ' 의 차이점

객체 초기화시 ( '=' ) 와 ( '( )' )의 차이점



' = ' 사용


기본 생성자 호출 후에 초기화

기본 생성자를 호출 하고 복사대입연산자 ' = ' 를 호출한다.



' ( ) ' 사용


기본생성자의 인자로 초기화값을 사용

복사생성자를 한번만 호출, 효율적이다.




P.S)

Test T = new Test;

Test T2 = new Test( );


Test의 생성자가 default 생성자일 경우 위 2줄의 차이점


T의 경우 객체가 초기화 되지 않음

T2의 경우 POD이기 때문에 0으로 초기화가 됨








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

POD / Standard Layout Type / Trivial Type  (0) 2019.03.03
const / #define / constexpr 차이점  (0) 2019.03.01
Smart Pointer  (0) 2019.03.01
Pointer / Reference 차이점  (0) 2019.03.01