千家信息网

C++中的T*返回值有什么作用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"C++中的T*返回值有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!F.42
千家信息网最后更新 2026年11月02日C++中的T*返回值有什么作用

本篇内容介绍了"C++中的T*返回值有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

F.42:T*返回值应该只用来指明位置

Reason(原因)

That's what pointers are good for. Returning a T* to transfer ownership is a misuse.

这是指针的强项。使用T*返回所有权是错误的用法。

Example(示例)

Node* find(Node* t, const string& s)  // find s in a binary tree of Nodes{    if (!t || t->name == s) return t;    if ((auto p = find(t->left, s))) return p;    if ((auto p = find(t->right, s))) return p;    return nullptr;}

If it isn't the nullptr, the pointer returned by find indicates a Node holding s. Importantly, that does not imply a transfer of ownership of the pointed-to object to the caller.

如果返回值不为nullptr,则find返回的指针表示持有s的Node。重要的是,它不包含向调用者传递指针所指向的对象的所有权的含义。

Note(注意)

Positions can also be transferred by iterators, indices, and references. A reference is often a superior alternative to a pointer if there is no need to use nullptr or if the object referred to should not change.

位置也可以通过迭代器,索引和引用传递。如果不需要使用nullptr或者对象不希望被修改,引用通常是比指针更好的选择。

Note(注意)

Do not return a pointer to something that is not in the caller's scope; see F.43.

不要返回指向不属于调用者范围的某物的指针。

Enforcement(实施建议)

  • Flag delete, std::free(), etc. applied to a plain T*. Only owners should be deleted.

    标示运用在直接指针上的delete,std::free()等操作。只用所有者才可以删除。

  • Flag new, malloc(), etc. assigned to a plain T*. Only owners should be responsible for deletion.

    标记将结果分配个直接指针的new,malloc()等处理。只有所有者才有销毁的责任。

"C++中的T*返回值有什么作用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

指针 作用 C++ 位置 内容 对象 所有权 所有者 指向 更多 用者 知识 实用 重要 学有所成 接下来 原因 只有 可以通过 含义 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技财经 广州互联网科技公司 互联网的科技创新 汇久创客互联网科技 一五八零互联网科技 中正互联网科技招聘 剑昆互联网络科技有限公司临桂 移动互联网科技股 互联网企业和科技型企业 厦门比较好的科技互联网公司 荆州市昕露互联网络科技有限公司 本届互联网博览会上的黑科技 晋城互联网科技 济南有互联网科技公司吗 沐思想互联网科技有限公司 广东工业互联网大赛深圳学泰科技 工业互联网科技成果转化 互联网科技新闻 互联网科技创新方面的资料 知域互联网科技有限公司官网 无线互联网科技 顺玮阁互联网科技 居家互联网科技有限公司 太原新华互联网科技学校怎么样 中国科技互联网公司收入 承德科技产业互联网发展 工业互联网等科技实现智能化赋能 互联网营销推广黑科技 陕西九四连强互联网科技有限公司 知域互联网科技有限公司官网
0