値取得用関数について
Posted: 2017年11月24日(金) 02:29
#include <iostream>
using namespace std;
class A{
public:
A(int value_) : value { value_ }
{
}
int get1() const {
return value;
}
const int& get2() const {
return value;
}
private:
int value;
};
int main(){
A a { 10 };
//例
cout << a.get1() << endl;
cout << a.get2() << endl;
return 0;
}
get1もget2も値を取得できるという点は同じです。
しかし、例のように値を取得した場合get2の方はget1に比べてコピーを生成していない分効率が良いと思うのです。
コピーを取得する関数を使用する利点があれば教えてください。
using namespace std;
class A{
public:
A(int value_) : value { value_ }
{
}
int get1() const {
return value;
}
const int& get2() const {
return value;
}
private:
int value;
};
int main(){
A a { 10 };
//例
cout << a.get1() << endl;
cout << a.get2() << endl;
return 0;
}
get1もget2も値を取得できるという点は同じです。
しかし、例のように値を取得した場合get2の方はget1に比べてコピーを生成していない分効率が良いと思うのです。
コピーを取得する関数を使用する利点があれば教えてください。