음악, 삶, 개발

Return type : const reference vs value ? 본문

개발 공부/C++ 약점공략

Return type : const reference vs value ?

Lee_____ 2020. 10. 24. 04:15

무조건 sizeof() 함수를 사용하여 크기를 찍어보아야한다.

Peter 말에 의하면,

128 bits 이상이면 reference 로, 이하면 value 로 return 하는게 일반적이라고한다.

 

예를 들어보자.

 

double 은 8 byte 즉, 64 bits 이다. (1 byte 당 8 bits)

이럴때는 그냥 value 를 return 하자.

double getDouble() const {}

get 함수는 무언가를 수정할 의도가 없으니, 항상 뒤에 const 를 붙이자.

const 가 붙은 함수는, non-const 객체가 호출할수없다.

 

아래의 경우를 보자.

const juce::Range<double>& getRange() const {}

juce::Range<double> 타입은 두개의 double 로 이루어져 128 bits 이다.

사실 이렇게 계산하지말고, 아리까리할때는 그냥 sizeof(juce::Range<double>) 을 콘솔에 찍어보자.