gpt4 book ai didi

c - 函数和数据指针如何允许 c 中的临时运行时多态性?

转载 作者:太空狗 更新时间:2023-10-29 15:55:37 25 4
gpt4 key购买 nike

wikipedia article on C声明 函数和数据指针允许临时运行时多态性

这是什么意思?请解释一下。

最佳答案

我能想到的关于 C 中的临时多态性的例子之一 qsort功能。 qsort 函数将比较函数(函数指针)作为输入,从而允许您对不同的数据类型使用 qsort。

qsort的原型(prototype)如下:

void qsort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *));

qsort 的比较函数的形式是:

int (*compar)(const void *, const void *);

请注意,qsort 函数只有效地提供了 qsort 算法的算法实现,留下了要使用的数据类型和数据类型的比较,通过巧妙地使用比较函数的函数指针和 void * 用于数据抽象。

qsort 为函数和数据的抽象提供了一个示例,从而为在 C 中使用 ad-hoc 多态性铺平了道路。

关于c - 函数和数据指针如何允许 c 中的临时运行时多态性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com