Ego*_*sin 5 c++ shared-ptr c++11
我想将open/ closePOSIX API 包装成与RAII兼容的对象std::unique_ptr.但是open函数返回一个int(即不是a HANDLE,它是指针void),我不知道如何使用std::unique_ptr模板类int.有人能帮帮我吗?
真的,您想要的只是为您管理 close(int fileHandle) ,对吗?为什么不创建一个带有析构函数的简单 C++ 类来为您调用 close() 呢?我认为这就是您正在寻找的行为。
std::shared_ptr 和朋友只处理用 new 创建的堆指针,并且会调用 delete ptr,而不是您在这里寻找的东西。
编辑:费尔南德斯先生的观点很好。shared_ptr<> 为您管理引用计数,因此将其与来自 ac lib 调用的不透明句柄(例如文件句柄)的自定义删除器一起使用是一件非常合理的事情,尽管对于其他团队成员来说有点棘手。它也直接回答了OP的问题。
以下是Herb Sutter 网站上有关该主题的有趣讨论。
| 归档时间: |
|
| 查看次数: |
774 次 |
| 最近记录: |