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