c++ 结构体定义,逐行含义

着脸段代码是什么含义,最好能逐行,谢谢!
 

typedef struct inputPosAndFunc {

    const int paraPosition;

    void (*set)(const char* input);

} T_INPUT;

static T_INPUT inputParaMap[] = {

    {szFlagPos, (void *)set_host_name},

    {instanceNumPos, set_instance_num},

    {portPos, set_port}

};

 

说明大体如下:

typedef struct inputPosAndFunc{
	const int paraPosition;//声明一个整型常量
	void (*set)(const char* input); //定义一个函数指针,函数的参数是const char*类型
}T_INPUT;  //T_INPUT是这个结构体的名字

static T_INPUT inputParaMap[] = {  //定义一个T_INPUT类型的静态数组,这个数组里有3个T_INPUT类型的元素
	{szFlagPos,(void*)set_host_name},   //第一个T_INPUT元素,
	{instanceNumPos, set_instance_num},//第二个T_INPUT元素,
	{portPos,set_port}//第三个T_INPUT元素,
}

 

定义了一个结构体inputPosAndFunc,结构体里面有两个参数,一个const int类型,另一个为set函数指针类型,函数的参数是const char*类型。将struct inputPosAndFunc用T_INPUT代替。static T_INPUT inputParaMap[] 定义一个static的结构体数组inputParaMap,并且初始化三个T_INPUT对象。某些编译器是支持这样的初始化的。初始化的参数就是结构体的成员。一个const int类型,另一个为set函数指针类型

1、{szFlagPos, (void *)set_host_name},    
2、{instanceNumPos, set_instance_num},    
3、{portPos, set_port}