강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

거북이님의 프로필 이미지
거북이

작성한 질문수

홍정모의 따라하며 배우는 C++

8.3 생성자 Constructors

16:17

작성

·

293

1

Fraction one_thirds=Fraction{1,3}; 이거랑

Fraction one_thirds(1,3) ; 이랑 임시객체 생성되고 안되고 차이가 있나요? 둘이 똑같은 과정을 거치는건가요?

퀴즈

51%나 틀려요. 한번 도전해보세요!

객체 지향 프로그래밍에서 클래스/객체의 주된 역할은 무엇일까요?

프로그램 실행 속도를 최적화하는 것

데이터를 처리하는 함수와 해당 데이터를 하나로 묶는 것

메모리 할당 및 해제를 자동화하는 것

다른 프로그래밍 언어로 코드를 변환하는 것

답변 1

3

안녕하세요 😊

Fraction one_thirds=Fraction{1,3}; 는 임시 객체를 만든 후 이를 one_thirds 에 복사하는 과정이구요!

(Fraction{1,3} 은 이름 없는 객체라 R-value 인 임시 객체입니다. one_thirds 객체를 이 임시객체를 복사하여 만들기 위해 복사생성자가 호출됩니다.)

Fraction one_thirds(1,3); 는 임시객체가 아닌, one_thirds 라는 객체를 만들면서 생성자를 호출하는 과정입니다.

거북이님의 프로필 이미지
거북이

작성한 질문수

질문하기