Vector Helper
BlogGithub
  • 简介
  • 构建
  • 安装与卸载
  • 清理
  • 常见问题
  • 学习使用 Vector Helper
    • 快速创建与销毁 Vector 对象实例
    • 尝试 Push & Remove 元素
    • 尝试 Set & Get 元素
    • 尝试 Reserve & Handover 元素
    • 尝试 Push Multiple 和 Pop 元素
    • 尝试获取 Size & Count 和 Capacity
    • 尝试 Quick Enum 元素
  • Vector Helper API
    • Vector 对象实例生命周期
    • 内部和大小计数器
    • 元素存取与管理
    • 元素预订与撤销
    • 元素快速枚举器
    • 内存管理
    • 数据结构和枚举器
Powered by GitBook
On this page
  • 什么是 Vector Helper?
  • 为什么存在 Vector Helper?
  • Vector Helper 与其他 Vector Array 有何不同?
  • Vector Helper 目前由谁维护?
  • 最后...

简介

本页将介绍什么是 Vector Helper 与其相关特性

什么是 Vector Helper?

Vector Helper 是一个用 C 编写的 Vector Array(矢量数组)库,皆在为 C 项目提供侧重于运行时安全的高性能 Vector Array。若您使用过 C++ Std,您应该知道 <vector> 头文件中声明的std::vector<T> 模板类提供了 Vector Array,但 std::vector<T> 仅限于在 C++ 中使用。

为什么存在 Vector Helper?

Vector Helper 原先是 SmallSO Studios. 内部纯 C 项目中的子模块,皆在纯 C 中实现与 std::vector<T> 模板类大致相同的功能,而开源版本则是从其项目中分离并整理出来的独立版本。Vector Helper 遵循新的 API 规范,与 std::vector<T> 模板类不同。并且,Vector Helper 是侧重于运行时安全设计的,也即包含更多的 API 调用检查、出入参数合法验证等。在性能方面,与 std::vector<T> 模板类接近。

Vector Helper 与其他 Vector Array 有何不同?

整体上来看,主要有以下几点:

  • Vector Helper 侧重于运行时安全,但这不是绝对的。

  • Vector Helper 侧重于运行时完整性,但这不是绝对的。

  • Vector Helper 在确保运行时安全和完整性的同时,尽可能地提升性能。

  • Vector Helper 确保 C/C++ 可同时使用,为其提供预处理器兼容性支持。

  • Vector Helper 以跨主流平台的通用性 C 代码为主(理论上),但一部分平台是未经过验证的。

Vector Helper 目前由谁维护?

Vector Helper 项目由 SmallSO 创建并在 Github 以 MIT 许可证开放源代码。在没有明确声明之前,SmallSO 将保持对该项目的定期维护,也欢迎其他开发者加入该项目的开发与维护。若有任何问题或建议,欢迎前往 Github 提交 issue。

最后...

或许很多开发者对于 Vector Helper 侧重于运行时安全和完整性不太理解,认为开发者应该对 C 代码的执行结果负责,没必要因此而牺牲执行性能。的确,我们非常认同这一观点,但由于 Vector Helper 原先是 SmallSO Studios. 内部纯 C 项目的子模块,该内部项目运行在服务端,对容错有一定的要求。当然,这并不代表我们对这一内部项目的不信任,但作为服务端项目,我们依旧认为应具有一定的容错能力。上述内容中的“容错”是指针对开发者的,而非执行代码本身,皆在阻止与开发者预期不符的常规错误操作。

若您认为不需要运行时安全与完整性保护,您可以从 Vector Helper 中移除和运行时安全与完整性相关的代码。除非您对性能要求非常高,否则不建议您这么做。

最后,欢迎更多开发者参与 Vector Helper 项目的开发、优化与维护工作。

仍有疑问?建议您参阅 “常见问题” 页面或向我们反馈。

Next构建

Last updated 6 years ago

常见问题