【发布时间】:2018-07-14 17:01:24
【问题描述】:
我有一个函数返回一个应该被调用者销毁的指针。在函数名称中提示此类内容是否有任何约定?
【问题讨论】:
-
您可以返回智能指针而不是原始指针。
-
不,没有这样的约定,因为没有理由返回这样的指针。
-
@JesperJuhl 您为什么不将此作为答案发布,以便我给您投票?
我有一个函数返回一个应该被调用者销毁的指针。在函数名称中提示此类内容是否有任何约定?
【问题讨论】:
为这样的函数添加[[nodiscard]] 属性应该是您做的第一件事。其次应该将其更改为返回 std::unique_ptr 或 std::shared_ptr 而不是原始指针。试图在函数名中“提示”一些东西永远不会是一个好的选择——编译器不会强制执行它。
使用类型系统。
【讨论】: