9
Cでの文字列リテラルの「ライフタイム」
次の関数によって返されるポインタにアクセスできませんか? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } つまり、C / C ++のローカル変数の存続期間は、実際には関数内だけですよね?つまり、char* foo(int)終了した後、それが返すポインタはもはや何も意味しませんよね? ローカル変数の存続期間について少し混乱しています。良い説明は何ですか?