如果我有以下两个功能
std::string foo1()
{
std::string temp;
...
return temp;
}
和
const char* foo2()
{
std::string temp;
...
return temp.c_str();
}
和一个以 const char* 作为输入的函数;
void bar(const char* input) { ... }
哪个更安全:
bar(foo1().c_str());
或者
bar(foo2());
如果我想做的只是将一个字符串作为输入传递给 bar 然后不关心任何一个foo
函数的返回值,这真的很重要吗?