c – API返回类型 – 强制智能指针到用户?
假设我有一个创建并返回对象的API边框函数:
<?> createOneObject(); 将对象返回给调用者的最佳方法是什么? >返回原始MyObject *并让调用者自己处理指针 解决方法
要看.
通常,返回原始指针是不好的,因为类型本身不会传递所有权.用户应该删除指针吗?如果是,那怎么样?如果没有,那么图书馆什么时候做呢?用户如何知道指针是否仍然有效?这些事情必须记录下来,懒惰的程序员可能会跳过阅读文档.但是,如果您的API必须可以从C或其他语言调用,那么原始指针可能是唯一的选择. 共享指针在特殊情况下可能很有用,但它们确实有开销.如果您不需要共享所有权,那么使用共享指针可能会过度. 除非有特殊原因要使用其他东西,否则我将使用唯一指针. 虽然,假设应该首先返回一个指针.另一个很好的选择可能是返回一个对象.
明确地. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |