を返すメソッドがあると仮定しますstd::set
:
std::set<string> MyClass::myMethod() const
{
std::set<string> result;
// ... some code to fill result ...
return result;
}
呼び出し側ではmyMethod
、次の 2 つの方法で結果を保存できます。
void MyClass::test()
{
const std::set<string> s1 = myMethod(); // 1
const std::set<string>& s2 = myMethod(); // 2 (using reference)
// ... some code to use s1 or s2 ...
}
私の質問は次のとおりです。
- それらの間に違いはありますか?
- どちらの方法がより効果的で効果的ですか?