diesen Code vor:Lebensdauer eines Zeichenfolgenliterals von einer Funktion zurück
const char* someFun() {
// ... some stuff
return "Some text!!"
}
int main()
{
{ // Block: A
const char* retStr = someFun();
// use retStr
}
}
In der Funktion someFun()
, wo ist "Some text!!"
gespeichert (ich denke, es ist in einem gewissen statischen Bereich von ROM sein kann) und was ist sie Umfang Lebensdauer?
Wird der durch retStr
angezeigte Speicher während des gesamten Programms belegt oder freigegeben, sobald der Block A beendet wird?
Sie auch einen Blick auf diese Frage annehmen: http://stackoverflow.com/questions/267114/scope-of-string-literals – quinmars