gpt4 book ai didi

来自 OOP 背景,一些 C 程序/库可以帮助我获得 "C way"?

转载 作者:行者123 更新时间:2023-12-04 06:41:34 25 4
gpt4 key购买 nike

我从事 OOP (C++/Java/PHP/Ruby) 已经很长时间了,真的很难想象像 Linux 或 Apache 这样的大型程序和库可以完全用命令式风格来编写。我可以查看哪些小型开源 C 项目,以了解在 C 中是如何完成工作的?

如果项目托管在 GitHub 上,可加分。

最佳答案

在 C 中,事情的完成方式完全相同,但语言的公开支持较少。您不是创建一个类来封装某些状态,而是创建一个结构。您无需使用隐式 this 参数创建类成员,而是创建显式传递 struct* 作为第一个参数的函数,然后对该结构进行操作。

为确保封装不被破坏,您可以在 header 中声明结构,但仅在使用它的 .c 文件中定义它。虚函数需要更多的工作——但同样,这只是将函数指针放入结构中的一个例子。这在 C 中实际上比 C++ 更方便,因为在 C 中你可以手动填写你的 vtables,可以很好地控制代码的哪一部分实现了 COM 接口(interface)的一部分(当然如果你在 C 中使用 COM) .

关于来自 OOP 背景,一些 C 程序/库可以帮助我获得 "C way"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051887/

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