Language/C++

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

피퍄퓨퍄 2019. 3. 3. 15:40

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



' = ' 사용


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

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



' ( ) ' 사용


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

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




P.S)

Test T = new Test;

Test T2 = new Test( );


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


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

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