有没有任何教程可以帮助熟练的c ++程序员学习c?

com*_*eye 6 c c++

我成为了面向对象代码时代的专业程序员,并且拥有多年用C++编程的经验.我经常处理具有多年遗留代码的大型项目,这些代码混合了c ++和c.我觉得在纯c部分系统上工作不太舒服.从C++编程我理解所有的c语法,但是我知道如何组织一个没有对象的复杂c程序,以及构成我想要填充的内存的最佳实践.我作为一个java程序员工作后学习了c ++,并且认为更多的c会让我成为一个更好的c ++程序员,并且将一点点的java翻译成c ++程序员

Mic*_*yan 1

在组织方面,查看POSIX API,尤其是pthreads将使您很好地了解如何组织 C 代码。良好的 C 项目组织的基本规则是:

  • 不要暴露你的结构。仅使用不透明类型。
  • 使用库和数据类型名称作为函数名称的前缀。
  • 为分配/构造和销毁/释放提供“创建”和“销毁”功能。
  • 将不透明类型作为第一个参数传递给对该类型进行操作的函数。
  • 使用 C 或 C++ 实现 C API(由您决定)。显然,在那里使用非不透明类型。