繁体   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