租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

c语言泛型的最佳实践案例 ,c++泛型类

发布时间:2024-07-19 14:37:45

c语言泛型的最好实践案例

在C语言中实现泛型的最好实践案例是使用宏定义和函数指针。以下是一个简单的例子:

#include <stdio.h>

// 定义一个泛型的结构体,包括一个void*指针和一个函数指针
typedef struct {
    void* data;
    void (*printFunc)(void*);
} GenericData;

// 定义一个打印整数的函数
void printInt(void* data) {
    printf("%d
", *(int*)data);
}

// 定义一个打印浮点数的函数
void printFloat(void* data) {
    printf("%f
", *(float*)data);
}

int main() {
    int intValue = 10;
    float floatValue = 3.14;

    // 创建一个存储整数的泛型结构体
    GenericData intData = {&intValue, printInt};
    // 调用打印函数
    intData.printFunc(intData.data);

    // 创建一个存储浮点数的泛型结构体
    GenericData floatData = {&floatValue, printFloat};
    // 调用打印函数
    floatData.printFunc(floatData.data);

    return 0;
}

在这个例子中,我们定义了一个泛型的结构体GenericData,该结构体包括一个void*类型的指针和一个函数指针,用于调用相应类型的打印函数。通过创建区分类型的泛型结构体,并传入相应的数据和打印函数,实现了对区分类型数据的泛型处理。

tiktok粉丝购买:https://www.smmfensi.com/