2015-10-19 125 views
-7

这似乎已被问及/答复很多次,但我仍然觉得我不确定。C++从函数返回指针

这两种方法是否有区别,可以使用。

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

Vs的

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

你想快速回顾指针? – 2015-10-19 19:19:22

+0

狗屎,本意是说回报sc,rsc等 – xcorat

+0

为什么你不只是编译和检查输出(最好是作为大会)的差异? – mah

回答

1

是的,他们是完全一样的。

在单词的第一个代码:

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

文字

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

第二个代码正如你可以读/看看自己有没有差别,因为在第二个例子中的第二条语句是多余的反正

0

有两者之间没有什么区别。它们都构造一个对象并返回一个指针,当调用者完成对象时,该对象就会返回到delete