抱歉,我知道有类似的问题存在,但我仍然不是完全清楚。以下内容是否安全?
void copyStr(const char* s)
{
strcpy(otherVar, s);
}
std::string getStr()
{
return "foo";
}
main()
{
copyStr(getStr().c_str());
}
一个临时的std::string将存储从getStr()返回的值,但它是否能够存活足够长的时间,以便我可以将其C字符串复制到其他地方?还是必须显式为其保留一个变量,例如
std::string temp = getStr();
copyStr(temp.c_str());