В некоторых классах методы доступа объявляются как getName1
, а в других как getName2
.С точки зрения использования это выглядит идентично.Есть ли какой-то выигрыш в производительности одного над другим в приличном компиляторе?Есть ли случаи, когда я должен использовать только один из двух?
class MyClass
{
public:
MyClass(const string& name_):_name(name_)
{
}
string getName1() const
{
return _name;
}
const string& getName2() const
{
return _name;
}
private:
string _name;
};
int main()
{
MyClass c("Bala");
string s1 = c.getName1();
const string& s2 = c.getName1();
string s3 = c.getName2();
const string& s4 = c.getName2();
return 0;
}