miaomico 最近的时间轴更新
miaomico

miaomico

V2EX 第 439761 号会员,加入于 2019-09-05 01:50:59 +08:00
根据 miaomico 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
miaomico 最近回复了
支持一下
2020-11-02 12:38:53 +08:00
回复了 eth 创建的主题 推广 [抽奖]送出超声波清洗机 10+台 还有更多双 11 福利等你拿~
诶嘿嘿
2020-10-27 10:42:48 +08:00
回复了 jamfer 创建的主题 推广 回馈 V2,送一把樱桃红轴的 71 键双模机械键盘
中奖刚体
2020-05-26 08:41:10 +08:00
回复了 miaomico 创建的主题 问与答 求助呀, C 语言大佬可以帮看看,函数传参问题
@thedrwu
我原来的想法太天真了,我想这个样子搞的,哈哈,

char* format = "%d";
int num = 1;
void *arg_list[8] = {
&format,
&num,
}

void *shell(void* func, void *arg_list[8]){
void *(*local_func)(void*,...) = func;

return local_func(arg_list[0],,,,arg_list[7]);
}

shell(printf, arg_list);

+问题:
主要是遇到了,每次初始化函数不一样的情况,这个地方就叫 ‘调用点‘ 吧,然后我就想着能不能整个万能函数接口,知道具体函数和参数就可以正常使用;

-想法:
现在来看的话好像不行了,没法指定参数类型,压栈好像就压不对;
我这会儿只能想到给每个初始化函数都写个单独的壳子,传入 arg_list[8],在壳子里面指定参数类型,然后调用点调用函数指针,指向某个壳子?

大佬有啥高见嘛?
2020-05-25 19:10:38 +08:00
回复了 miaomico 创建的主题 问与答 求助呀, C 语言大佬可以帮看看,函数传参问题
@thedrwu 哇,真的好了,谢谢啦,

那我如果直接 *arg_list[2] ,是按 void* 类型来的,所以只有 sizeof(int) 的长度有效?

”一般都传个结构的 const 指针“,这个的话,我的理解的话,我想用 void *(*shell)(void* func, ...) 来实现,不定函数原型,func 用来传具体函数指针,后面可变参数,用来传前面 func 所需的参数,不管啥类型函数原型都能用,所以并不知道是参数啥类型,参数个数是多少,所以用 void*, 还有可变参数

如果理解的地方或方式不对,请指教。
2020-05-08 08:50:16 +08:00
回复了 miaomico 创建的主题 问与答 有个关于设计模式的问题,想请教一下。
@yidinghe 就是输入迭代器可以有前向,双向,随机的访问方式,但只能有一种?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3618 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 04:28 · PVG 12:28 · LAX 21:28 · JFK 00:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.