c++ - 是否有任何教程可以帮助精通 c++ 的程序员学习 c?

标签 c++ c

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

最佳答案

在组织方面,看POSIX APIs , 特别是 pthreads将使您对如何组织 C 代码有一个很好的了解。良好的 C 项目组织的基本规则是:

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

关于c++ - 是否有任何教程可以帮助精通 c++ 的程序员学习 c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1220223/

相关文章:

c++ - 为什么我们没有 map 的 hash 和 pred 仿函数?

c++ - 如何使分组框文本背景透明

从现有(但旧)示例代码创建 DLL

c++ - 编译问题 : LIBUSB_1 with cmake project on Windows

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

c - 二维数组指针

使用标准 I/O 和系统调用制作文件副本的 C 程序

c - 左移一次并获得值(value)形式进位

c - 为什么在 "while"中使用常量时 MSVC 会生成警告 C4127 - C

c# - C#和C++ dll-编码字符串