[英]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.