C ++何时返回指针[关闭]

Posted

技术标签:

【中文标题】C ++何时返回指针[关闭]【英文标题】:C++ when to return pointers [closed] 【发布时间】:2021-02-12 01:36:23 【问题描述】:

假设你有一个应该返回对象的函数,你一般是返回对象的指针还是对象本身?什么时候应该返回指针/对象?

【问题讨论】:

这能回答你的问题吗? Returning an object or a pointer in C++ 【参考方案1】:

一般来说,您可能希望返回对象引用,因为这样您只传输指针的副本而不是整个对象的副本 - 特别是在对象很大的情况下。

我的理解是,当您在函数内的 stack 上创建对象时,您只想返回一个副本 - 这是因为当函数执行时对象将超出范围返回并将被删除。在堆上创建的对象可以通过引用返回,但以后必须删除以避免内存泄漏。

【讨论】:

我不同意这一点。复制省略和移动语义意味着按值返回对象通常很便宜,modern C++ recommendations 建议使用返回类型来指示所有权与借用语义。 @SilvioMayolo 您可能想继续为这个问题写一个竞争性答案 - 听起来您对这个问题的理解比我更深入

以上是关于C ++何时返回指针[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C |套接字未正确关闭

C套接字HTTP 1.1持久连接服务器何时应关闭套接字?

构建C代码的提示/资源? [关闭]

在C中找到下一个闰年[关闭]

何时关闭 MySQL 连接 discord.py

SQL查询根据日期返回结果