"container_of"模式的真实名称

kay*_*kay 6 c containers design-patterns

例如,在Linux驱动程序开发中,可以找到container_of宏.本质上它是a的反向运算符->,如果你有一个指向成员的指针,则会产生指向包含结构的指针.

除了Greg Kroah的博客,我在Pintos 的列表哈希实现中找到了这种模式.

小智 3

该模式的真实名称是“container_of()”。尝试将这种 C 主义纳入 Java 或 C++ 设计模式分类是徒劳的。重点不是串连责任,也不是指定或委托任何事情。如果你必须用这些术语来思考,那么它就是一个“混乱的广义继承”。如果你不必用这些术语来思考,那么事情就不会那么混乱了。