以下の例のようにconst参照によってデフォルトの引数の値を返すことは問題ありませんか?
https://coliru.stacked-crooked.com/a/ff76e060a007723b
#include <string>
const std::string& foo(const std::string& s = std::string(""))
{
return s;
}
int main()
{
const std::string& s1 = foo();
std::string s2 = foo();
const std::string& s3 = foo("s");
std::string s4 = foo("s");
}
std::string
独自のクラスに置き換えて、建設と破壊を追跡できるようにします。