在查看某人的代码时,我被一种表示数据的方式所震惊,在 C 上下文中,这对我来说似乎很奇怪:
这个人需要为光线追踪器表示不同类型的几何图形,每个几何图形虽然不同,但在结构上却有相似之处。所以这个人决定通过指针链接在一起的或多或少的抽象结构来表示几何。
s_entities -> s_scene_object -> s_sphere
s_entities -> s_scene_object -> s_plane
s_entities -> s_pointlight
我想知道为什么人们会通过抽象层在 C 中分解其数据,而不是为每种数据提供一个包罗万象的结构。
一种解释是,如果您的函数在数据的某个抽象层上运行,则可以减少开销。正确的 ?
在我看来,这就像 OOP 习惯的残余。