簡體   English   中英

C++從函數返回指針

[英]C++ Returning pointer from function

這似乎已被多次詢問/回答,但我仍然覺得我不確定。

這兩種方法有區別嗎,哪個都可以用。

SomeClass* GetSomeClass(){
    SomeClass *sc = new SomeClass();
    // do something with sc
    return sc;
}

對比

SomeClass* GetSomeClass(){
    SomeClass *sc = new SomeClass();
    // do something with sc
    SomeClass *rSc;
    rSc = sc;
    return rSc;
}

是的,它們完全相同。

單詞中的第一個代碼:

SomeClass pointer sc = new SomeClass();
return SomeClass pointer sc

單詞中的第二個代碼

SomeClass pointer sc = new SomeClass();
SomeClass pointer rSc = SomeClass pointer sc
return SomeClass pointer rSc

正如您可以自己閱讀/看到的那樣,沒有區別,因為第二個示例中的第二個語句無論如何都是多余的

兩者沒有區別。 它們都構造一個對象並返回一個指向它的指針,讓調用者在完成后delete該對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM