【发布时间】:2013-02-19 21:17:55
【问题描述】:
假设我有 1000 个函数,定义如下
void func dummy1(int a);
void func dummy2(int a, int aa);
void func dummy3(int a, int aa, int aaa);
.
.
.
void func dummy1000(int a, int aa, int aaa, ...);
我想编写一个函数,它接受一个整数 n (n
在我看来,如果不在运行时重新编译,这是无法实现的,因此像 java、c、c++ 这样的语言永远不会让这样的事情发生。
希望有办法做到这一点。如果是这样,我很好奇。
注意:这不是我永远不会使用的东西,我只是出于好奇而提出问题。
【问题讨论】:
-
你以前看过反射吗?
-
它的“n args”部分是偶然的,还是您希望找到解决方案的示例?如果是这样,请查看en.wikipedia.org/wiki/Stdarg.h
-
"N args" 部分不是偶然的,我故意将其包括在内。我现在已经检查了那个库,但是我认为如果你希望你的函数有一定数量的参数但在不使用控制语句的情况下调用它们并没有帮助。
-
一个非常短的 shell 脚本会生成你似乎绝望的千头 case 语句。
-
是的,毫无疑问会
标签: function programming-languages function-pointers program-flow