Skip to content

作为一个开发者,我希望这套指针可以支持数组,以便于我可以更好地管理数组的生命周期 #12

Description

@zhuuuoyue

支持数组的 OwnerPtr 与普通的 OwnerPtr 区别在于:

  • 通过指定 VT 数据类型,管理的其实是 VT[] 数组指针
  • 删除应该使用数组的删除方式,而不是普通对象的删除方式
  • 不支持指针的解引用操作,即不支持 *-> 操作符重载
  • 支持按索引的解引用方式,即支持 [] 操作符重载

其他的地方与普通 OwnerPtr 类似,可以参照数组版的 std::unique_ptr 唯一指针实现。

有了数组组的 OwnerPtr 后,还应该支持数组版的 ShadowPtr 指针。数组版的 EnableShadowFromThis 先不实现,这个需要后续讨论,目前尚未确定是否应该实现。

除了实现功能外,相关工作有:

  • 补全文档注释
  • 添加相关的单元测试用例,文件名叫 OwnerPtr.Array.Test.cppShadowPtr.Array.Test.cpp
  • 更新中英双语的 README 文档

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions