현재 get()
클래스의 멤버 함수는 다음과 같이 정의됩니다. 반환 유형은 const int&
입니다. 내 질문은 내가C++에서 반환 함수 유형 예제
int& get() const
또는
int get() const
으로 get()
기능을 정의하는 경우의 차이가 될 것입니다 무엇입니까? 그리고 어떤 방법으로 추천할까요?
#include <iostream>
using namespace std;
class MyClass {
int x;
public:
MyClass(int val) : x(val) {}
const int& get() const {return x;}
};
void print (const MyClass& arg) {
cout << arg.get() << '\n';
}
int main() {
MyClass foo (10);
print(foo);
return 0;
}
'int '를 반환하는 것이 훨씬 간단하다 –
'int'는 호출자가 다음과 같이 말할 수 있음을 의미한다 :'myclass.get() = 42' – selbie
@selbie 바인딩하기 때문에'get()'이 컴파일되지 않는다. 'const int'를'int '로 변경하십시오. – songyuanyao