次の2つの機能がある場合
std::string foo1()
{
std::string temp;
...
return temp;
}
と
const char* foo2()
{
std::string temp;
...
return temp.c_str();
}
constchar*を入力として受け取る関数。
void bar(const char* input) { ... }
どちらが安全ですか:
bar(foo1().c_str());
また
bar(foo2());
文字列を入力としてbarに渡すだけで、どちらの関数の戻り値も気にしない場合、foo
それは実際に重要ですか?