由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - c模拟c++的继承和多态
相关主题
发一些面世题,C ProgrammingBloomberg London onsite面经
一个GOOG的二叉树面试题大家新年好。 请教一个 c interview question (转载)
问个编程,系统,网络有关的综合问题。请教一道题
刚刚电面bloomberg,被问到一个没看到过的问题面试题:use bitmap to Implement a buddy system with APIs for setting and unsetting bits in the bitmap.
One question about Void pointer (转载)问三个问题,大大们帮忙看一下
问个结构体的大小问题Simple Database设计问题,附code
c语言实现TreeFee我的找工历程:CS MS(2)
知道这里计算机的大牛多,问个题目~CS面试总结
相关话题的讨论汇总
话题: call话题: data话题: unset话题: 160话题: ev
进入JobHunting版参与讨论
1 (共1页)
d********w
发帖数: 363
1
看到一篇lighttpd源码剖析,http://www.cnblogs.com/kernel_hcy/archive/2009/10/23/1588873.html,发现它的数据结构设计的挺精妙的,比如在定义array时候
通过DATA_UNSET宏,其他类型在定义中直接引用DATA_UNSET宏来模拟继承
通用数组中存放的数据可以是通用数组,这样可以形成多维的通用数组。
typedef struct {
 DATA_UNSET;
 array *value;
} data_array;
之前看其他开源的代码,有种技巧是使用函数指针和二维数组来实现多态,不过我记得
不大清了,请高人指点完整写法。
比如:
typedef struct {
int (*init)(events *ev);
const char *description;
int num;
} event__t;
int call_back1(events *ev);
int call_back2(events *ev);
int call_back3(events *ev);
event_t handlers[] = { {call_back1, "aaa", 2}, {call_back2, "bbb", 2}, {call
_back3, "ccc", 3}};
switch(type) {
CAR:
handlers[CAR]->init();
...
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
CS面试总结One question about Void pointer (转载)
大家帮我看看这个工作的JD问个结构体的大小问题
C++ Q:c语言实现TreeFee
ooyala,apple,ebay面经知道这里计算机的大牛多,问个题目~
发一些面世题,C ProgrammingBloomberg London onsite面经
一个GOOG的二叉树面试题大家新年好。 请教一个 c interview question (转载)
问个编程,系统,网络有关的综合问题。请教一道题
刚刚电面bloomberg,被问到一个没看到过的问题面试题:use bitmap to Implement a buddy system with APIs for setting and unsetting bits in the bitmap.
相关话题的讨论汇总
话题: call话题: data话题: unset话题: 160话题: ev