gpt4 book ai didi

c - C : good, 中的继承不好,还是其他?

转载 作者:太空狗 更新时间:2023-10-29 15:36:38 25 4
gpt4 key购买 nike

我们拥有经过数十年开发的大型 C 代码库。代码的一个特点是对函数指针和伪继承有很大的依赖。成语(如讨论的 here )如下所示:

typedef struct twod_ {
double x, y;
} twod;

typedef struct threed_ {
twod super;
double z;
} threed;

threed *point_3d;
twod *point_2d = (twod *)point3d;

此时point_2d->xpoint_3d->x是同一 block 内存。

我的问题是:

  • 这个成语在现代生产代码中是否仍然流行? (任何推荐的开源示例)
  • 这段代码对性能有要求——这个惯用语对速度和/或内存使用有帮助吗?
  • 它的实现方式(或由于多年的代码膨胀)现在感觉有点像意大利面条代码——一般来说,这是实现问题还是习惯用法?或者换句话说,在理想世界中,500k LOC 的这个成语是否会被快速理解?

当然,“如果它没坏,就不要修理它”这句格言值得牢记;然而,目前这并不能真正帮助我们,所以我们认为我们可能需要更深入地进行重构......

谢谢!

最佳答案

我会说它很好,当然它很容易混淆,因为它变得相当冗长。

对我来说,“C with classes”的旗舰开源实现可能是GTK+ ,特别是 gobject模块。

关于c - C : good, 中的继承不好,还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com