作者:
descent (「雄辯是銀,沉默是金」)
2016-06-20 18:58:39compiler 大概會轉成這樣:
void fun(String *s)
{
String str="abc";
*s = str;
}
void main()
{
String strM;
fun(&strM);
}
有點像 return value optimization
補充了一篇 blog
http://goo.gl/HTYNaj
※ 引述《ducksky (鴨舞九天)》之銘言:
: String fun()
: {
: String str="abc";
: return str;
: }
: main
: {
: String strM=fun();
: }
: 請問上面的作法為何可行?
: 在fun()內的str不是區域變數嗎?
: 生命週期應該再函式結束就消失不是嗎?