#include "iostream"
#include <cstring>
using namespace std;
void printCpu()
{
cout << "Intel" <<endl;
}
void printVersion()
{
cout << "V1.0" <<endl;
}
void printOs()
{
cout << "Linux" <<endl;
}
typedef void (*FunType)();
typedef struct _myMap
{
char *pName;
FunType pFunc;
}MyMap;
MyMap myMap[] = {
{"cpu", printCpu},
{"version", printVersion},
{"os", printOs},
};
int main()
{
int size = sizeof(myMap)/sizeof(myMap[0]);
int i =0;
char szName[] = "os";
for(i = 0; i < size ; i++)
{
if(0 == strcmp(szName, myMap[i].pName))
{
(*myMap[i].pFunc)();
}
}
getchar();
return 0;
}
ArrMap优化if
最新推荐文章于 2026-01-03 02:32:32 发布
这个博客展示了一个C++程序,它定义了几个打印不同信息的函数,如CPU、版本和操作系统。通过一个映射表,程序能够根据输入的字符串调用相应的函数,例如输入os会打印出Linux。该示例强调了函数指针的使用和结构体在实现特定功能映射中的应用。
7540

被折叠的 条评论
为什么被折叠?



