BTW,大家注意一下下面的这段代码: struct A { int a; int b; int c; }; &(((struct A *)NULL)->b)); //这里是取b在结构里的偏移,一些OS kernel代码会实现一些通用数据结构,比如单向链表,就会利用这种技术。具体的可以看DDK,或者在linux kernel代码里用list搜索一下,这些实现蛮巧妙的。 #include <stdio.h> class A typedef void (A::*PFN)(); //不清楚的同志去看《Thinking in C++》 int main() pFn = &A::sayHello; return 0; |
正在阅读:《编程高手箴言》读后(4)《编程高手箴言》读后(4)
2004-04-08 14:39
出处:CSDN
责任编辑:sdq
键盘也能翻页,试试“← →”键