C ++从函数返回指针

时间:2015-10-19 19:17:18

标签: c++ pointers

这似乎已被多次询问/回答,但我仍然觉得我不确定。

这两种方法之间是否存在差异,并且可以使用其中任何一种方法。

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;
}

2 个答案:

答案 0 :(得分: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

正如您可以自己阅读/看到的那样没有区别,因为第二个例子中的第二个陈述是多余的

答案 1 :(得分:0)

两者之间没有区别。它们都构造一个对象并返回一个指向它的指针,当调用者完成它时,将调用者留给delete