IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 模块二interfaces下头文件解析 -> 正文阅读

[C++知识库]模块二interfaces下头文件解析

distributedschedule_samgr_lite/interfaces/kits/samgr/common.h

该模块提供了管理系统功能,本模块提供了面向服务体系结构(SOA)的开发框架基础,同时此模块提供服务、功能和功能的基本模型,以及注册和发现功能。

该文件为Samgr和外部模块提供通用对象和函数,主要提供简化的向量容器和向下广播函数

该宏定义的功能是计算T类型中杆件的偏移量。

#define GET_OFFSIZE(T, member) (long)((char *)&(((T *)(0))->member))
//member表示T成员变量的名称。

该宏定义提供了向下转换指向T类型的指针。

#define GET_OBJECT(Ptr, T, member) (T *)(((char *)(Ptr)) - GET_OFFSIZE(T, member))
//Ptr表示当前指针,即T成员变量的地址。
//T表示向下广播的目标类型。
//member将{@code Ptr}的名称指示为T成员变量。

该宏指示无效的向量索引,该值为-1,表示向量操作失败。

#define INVALID_INDEX (-1)
typedef void *(*VECTOR_Key)(const void *);
typedef int (*VECTOR_Compare)(const void *, const void *);

如果{@link VECTOR Find}找不到元素或无法将元素添加到VECTOR Add中,则返回无效的索引。

该宏定义了向量类,该类由四个元素扩展,适用于数据量较小且需要动态扩展的C语言开发场景。

typedef struct SimpleVector {
	 int16 max;  //可存储的最大数据记录数。初始值为<b>0</b>。
	 int16 top;  //存储数据记录数的峰值。初始值为<b>0</b>。
	 int16 free; //已发布的数据记录数。初始值为<b>0</b>。
	 void **data;    //数据存储指针
	 VECTOR_Key key; //将数据元素转换为键以进行比较。密钥由用户提供,默认值为<b>NULL</b>
	 VECTOR_Compare compare;
	 //比较用户提供的键1和键2的大小。值<b>1</b>表示键1大于键2,值<b>0</b>表示键1等于键2,值<b>-1</b>表示键1小于键2。默认值为<b>NULL</b>。
} Vector;

该函数提供创建或初始化向量对象的功能,此函数用于创建或初始化向量对象,返回向量右值对象

Vector VECTOR_Make(VECTOR_Key key, VECTOR_Compare compare);
//key表示指向用户提供的用于将数据元素转换为键值的函数的指针。
//compare指示指向用于比较两个元素大小的函数的指针。

如果未提供此功能,请将其设置为NULL。

该函数的主要功能销毁向量对象,此函数用于在使用堆栈中的临时向量后清除向量应用的内存

void VECTOR_Clear(Vector *vector);
 //vector表示指向要清除的向量的指针。

该函数的功能是将元素添加到向量,此函数用于向向量添加元素,此函数用于完全遍历。

int16 VECTOR_Add(Vector *vector, void *element);
//vector表示指向该向量的指针。
//element指示要添加的元素。

如果操作成功,返回要添加的元素的位置;如果操作失败,则返回{@link INVALID_INDEX}。

该函数的功能是获取向量中的元素数,包括已设置为NULL的元素,//返回向量的最大值,该值指示元素数。
此函数用于完全遍历。

int16 VECTOR_Size(Vector *vector);
//vector表示指向该向量的指针

该函数提供获取向量中的有效元素数,不包括已设置为NULL的元素,返回向量的无顶值,该值指示非空元素的数量。
此功能用于检查元素数量是否达到上限。

int16 VECTOR_Num(Vector *vector);
//vector表示指向该向量的指针。

该函数提供了在指定位置获取元素的功能,返回元素(如果已获取);否则返回空值。
此函数用于获取指定位置的元素。

void *VECTOR_At(Vector *vector, int16 index);
//vector表示指向该向量的<b>指针。
//index指示要获取的下标

该函数的功能是将向量中指定位置的元素与另一个元素交换,此函数用于清除、排序或更新向量中的元素。

void *VECTOR_Swap(Vector *vector, int16 index, void *element);
//vector表示指向该向量的指针。
//index指示要交换的元素的位置。
//element指示指向新元素的指针。

使用此函数之前,请确保索引有效。您可以使用VECTOR_Size获取索引的上限,如果交换成功,则返回原始元素;如果交换失败,则返回NULL。

该函数用于检查元素的位置,检查向量是否具有指定的元素。

int16 VECTOR_Find(Vector *vector, const void *element);
//vector表示指向该向量的指针。
//element表示要检查的元素。

如果检查成功,则返回不小于0的元素索引;如果检查失败,则返回{@link INVALID_INDEX}。

该函数的功能是使用指定的键检查元素的位置,此函数用于根据元素的键值检查元素。

int16 VECTOR_FindByKey(Vector *vector, const void *key);
//vector表示指向该向量的指针。
//key表示指向要检查的元素键值的指针。

如果检查成功,则返回不小于0的键元素索引;如果检查失败,则返回{@link INVALID_INDEX}。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:40:26  更:2021-10-07 13:42:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 3:25:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码