現在我有一個函數必須返回一個字符串。我看到了一個特殊的實現,他從函數中返回一個const char *。從函數返回「const char *」是個好主意嗎?
事情是這樣的:
const char * GetSomeString()
{
........
return somestlstring.c_str();
}
SomeOtherFoo()
{
const char * tmp = GetSomeString();
string s = tmp;
}
現在我覺得有一些潛在的錯。我的直覺是對的嗎?或者這是一個完全安全的代碼?
請給我你的建議。我有一種感覺,回報爲const char *這樣可能會導致混亂..
感謝, 阿瓊
除非somestlstring是一個本地函數作用域。 :-) – Konrad 2010-03-25 10:22:40
@Konrad肯定,但我也說過,在我的答案後,我展示了代碼。 :) – 2010-03-25 10:40:08