> For the complete documentation index, see [llms.txt](https://smallso.gitbook.io/vector/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://smallso.gitbook.io/vector/apis/object.md).

# Vector 对象实例生命周期

本页将介绍与 Vector 对象实例生命周期相关的 Vector Helper API

## vector\_helper\_create\_object

创建 Vector 对象实例

#### Syntax

```c
VectorContext* vector_helper_create_object
(
	size_t single_element_size, 
	size_t init_element_capacity,
	size_t max_element_count
);
```

#### Parameters

| 参数名                     | 类型      | 必选    | 描述           |
| ----------------------- | ------- | ----- | ------------ |
| single\_element\_size   | size\_t | True  | 单个元素大小（byte） |
| init\_element\_capacity | size\_t | True  | 初始可容纳的元素数    |
| max\_element\_count     | size\_t | False | 最大可容纳的元素数    |

#### Return Value

类型：`VectorContext*, Vector`

描述：成功返回 Vector 对象实例描述符，失败返回 `NULL`

#### Remarks

被创建的 Vector 对象实例若不需要限制最大可容纳的元素个数，可以将参数 `max_element_count`设置为 `VECTOR_NO_MAX_ELEMENT`宏或 0 忽略该参数。

参数 `init_element_capacity` 仅指定初始可容纳元素个数，用作在创建 Vector 对象实例时运行内存分配器分配初始内存空间。该参数值必须大于等于 1，否则函数失败。

所创建的 Vector 对象实例若不再使用，应调用 `vector_helper_destroy_object` 函数将其销毁并关闭 Vector 对象实例描述符，否则会造成内存泄漏。

调用进程在退出时，所创建的 Vector 对象实例将会被系统自动销毁，Vector 对象实例描述符将会被系统自动关闭。

## vector\_helper\_destroy\_object

销毁指定 Vector 对象实例并关闭描述符

#### Syntax

```c
bool vector_helper_destroy_object
(
    VectorContext* vector_object_context
);
```

#### Parameters

| 参数名                     | 类型     | 必选   | 描述                  |
| ----------------------- | ------ | ---- | ------------------- |
| vector\_object\_context | Vector | True | 需销毁的 Vector 对象实例描述符 |

#### Return Value

类型：`bool`

描述：成功返回 `True`，失败返回 `False`

#### Remarks

参数 `vector_object_context` 指定的 Vector 对象实例被销毁后，与该 Vector 对象实例所关联的描述符也将一同被关闭，应将承载 Vector 对象实例描述符的变量设置为 `NULL`。
