尝试获取 Size & Count 和 Capacity

本页将介绍如何获取指定 Vector 对象实例的各类大小和各类计数

什么是 Size & Count 和 Capacity?

Size 也即大小,在 Vector Helper 中,Size 被定义为多种大小类型,也称之为大小计数器。而 Count 也即计数,在 Vector Helper 中被定义为多种计数类型,也称之为内部计数器。

  • 例如 Size,我们可以获取指定 Vector 对象实例当前已分配的内存大小(byte)、单个元素大小(byte)、可用的空闲内存大小(byte)、已用内存大小(byte)等。

  • 例如 Count,我们可以获取指定 Vector 对象实例当前有效的元素个数、最大可容纳的元素个数上限、内存分配器运行次数等。

Capacity 也即容量,在 Vector Helper 中,Capacity 被定义为 Vector 对象实例中当前可容纳的元素个数。

如何获取 Vector 对象实例已分配的内存大小?

我们需要调用 vector_helper_get_size 函数并将需要获取的大小计数器类型设置为 VectorSizeType::kCurrentAllocMemorySize 以便获取 Vector 对象实例 vector_object 已分配的内存大小(byte):

C
size_t alloc_memory_size = vector_helper_get_size(vector_object,
VectorSizeType::kCurrentAllocMemorySize);

现在,变量 alloc_memory_size 的值(byte)即为 Vector 对象实例 vector_object 已分配的内存大小(byte)。

如何获取 Vector 对象实例的单个元素的大小?

我们需要调用 vector_helper_get_size 函数并将需要获取的大小计数器类型设置为 VectorSizeType::kSingleElementSize以便获取 Vector 对象实例 vector_object 单个元素的大小(byte):

C
size_t single_element_size = vector_helper_get_size(vector_object,
VectorSizeType::kSingleElementSize);

现在,变量 single_element_size 的值(byte)即为 Vector 对象实例 vector_object 单个元素的大小(byte)。

如何获取 Vector 对象实例的可用空闲内存大小?

我们需要调用 vector_helper_get_size 函数并将需要获取的大小计数器类型设置为 VectorSizeType::kAvailableMemorySize以便获取 Vector 对象实例 vector_object 可用的空闲内存大小(byte):

大小计数器 VectorSizeType::kAvailableMemorySize 为 Virtual Size,其值是实时计算的。

C
size_t available_memory_size = vector_helper_get_size(vector_object,
VectorSizeType::kAvailableMemorySize);

现在,变量 available_memory_size的值(byte)即为 Vector 对象实例 vector_object 可用的空闲内存(byte)。

如何获取 Vector 对象实例的已用内存大小?

我们需要调用 vector_helper_get_size 函数并将需要获取的大小计数器类型设置为 VectorSizeType::kUsedMemorySize以便获取 Vector 对象实例 vector_object 已用内存大小(byte):

大小计数器 VectorSizeType::kUsedMemorySize 为 Virtual Size,其值是实时计算的。

C
size_t used_memory_size = vector_helper_get_size(vector_object,
VectorSizeType::kUsedMemorySize);

现在,变量 used_memory_size 的值(byte)即为 Vector 对象实例 vector_object 已用内存大小(byte)。

如何获取 Vector 对象实例的有效元素个数?

我们需要调用 vector_helper_get_count 函数并将需要获取的内部计数器类型设置为 VectorCountType::kCurrentElementCount 以便获取 Vector 对象实例 vector_object 有效元素个数:

C
size_t current_element_count = vector_helper_get_count(vector_object,
VectorCountType::kCurrentElementCount);

现在,变量 current_element_count 的值即为 Vector 对象实例 vector_object 的有效元素个数。

如何获取 Vector 对象实例的最大可容纳元素个数上限?

我们需要调用 vector_helper_get_count 函数并将需要获取的内部计数器类型设置为 VectorCountType::kMaxElementCount以便获取 Vector 对象实例 vector_object 最大可容纳元素个数上限:

C
size_t max_element_count = vector_helper_get_count(vector_object,
VectorCountType::kMaxElementCount);

现在,变量 max_element_count 的值即为 Vector 对象实例 vector_object 的最大可容纳元素个数上限。

如何获取 Vector 对象实例的内存分配器运行次数?

我们需要调用 vector_helper_get_count 函数并将需要获取的内部计数器类型设置为 VectorCountType::kCurrentMemoryAllocCount 以便获取 Vector 对象实例 vector_object 的内存分配器运行次数:

C
size_t alloc_memory_count = vector_helper_get_count(vector_object,
VectorCountType::kCurrentMemoryAllocCount);

现在,变量 alloc_memory_count 的值即为 Vector 对象实例 vector_object 的内存分配器运行次数。

如何获取 Vector 对象实例当前可容纳的元素个数?

我们需要调用 vector_helper_get_capacity 函数来获取 Vector 对象实例 vector_object 当前可用空闲内存可容纳的元素个数:

C
size_t capacity_element_count = vector_helper_get_capacity(vector_object);

现在,变量 capacity_element_count 的值即为 Vector 对象实例 vector_object 当前可用空闲内存可容纳的元素个数。