![]() |
1
4
简短回答: C根本不提供语法帮助。
好消息:
您可以使用函数指针来支持C中的多态性。
不喜欢我找到的答案,所以这里。 对于每个操作,编写一组具有所有合法类型组合的函数。每一个都只做一个组合,所以很容易。然后像这样构造一个函数指针表
现在,一般的add函数决定了它的两种类型 有 并通过索引到表中调用正确的函数。 |
![]() |
2
3
可以将数学运算放在函数指针中,然后使用使用这些函数指针的泛型函数:
也就是说,C一般不擅长创建通用函数,使用函数指针很快就会导致代码非常模糊。使用像C++这样支持面向对象和类似概念的语言可以使你的生活变得简单多了。 |
![]() |
3
1
例如:
并将其用作:
如果你懒得推出所有的加法器,定义一个宏:
并将其用作:
|
![]() |
4
0
使用函数指针和switch语句可以很容易地做到这一点。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 4 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 4 月前 |