【问题标题】:C++ tutorial for experienced C programmer [closed]面向有经验的 C 程序员的 C++ 教程 [关闭]
【发布时间】:2009-09-14 13:50:23
【问题描述】:

我已经专门用 C 编程了 25 年,但从未使用过 C++。我现在需要学习 C++ 编程的基础知识。任何人都可以推荐最适合我的在线教程(或失败的书)。 谢谢。

编辑:我实际上需要 C++ 纯粹是为了向 巨大的 和旧的 C 程序添加一些肮脏的 hack。将整个程序转换为正确编写的 OO 代码在经济上是完全不可行的。有些人批评了建议的解决方案,因为它们将引导我走上成为“懂一些 C++ 却没有进入 C++ 正确精神的 C 程序员”的道路——但实际上这完全符合我的要求。

编辑: 投票最多的答案中的链接现在似乎已损坏,但该文件似乎存在于多个位置 - 例如here.

【问题讨论】:

标签: c++


【解决方案1】:

这可能有一些用处:C++ tutorial for C users

如果您正在寻找一本书,请查看 Ira Pohl (Amazon) 撰写的“C++ for C Programmers”。

【讨论】:

  • 在阅读了大约三分之一之后,我可以报告该教程写得非常好。
  • 干得好,这是创建另一个将 C++ 视为更好的 C 的程序员的完美方法。如果您想保持理智,那不是要走的路。将 C++ 视为一门独立的语言,可以自学,而不仅仅是“我的 C 之上的一些额外内容”
  • 嘿,它变得更好了。它甚至不使用 C++ 字符串。它是由不了解 iostreams 的人编写的(他手动调用 .close() ,这不是必需的),他不知道(或理解)初始化列表。请帮自己一个忙,学习 C++。本教程不会为您做到这一点。它会教你一些点点滴滴的 C++ 语法,但不是全部,而且绝对不是应该如何使用它。
  • 不过,您并没有将其转换为 C++。如果你只是想让 C 程序在 C++ 编译器下编译,你基本上只需要在这里和那里插入一些显式转换就可以了。你甚至不需要这个教程。试着编译它,看看它在哪里抱怨。但是本教程只教你如何编写不必要的容易出错和难以维护的代码,并假装这是 C++。
  • 网上教程真的很差。在传递时提到异常为“多一个控制结构”=完全失败......最好坚持使用 C,而不是在没有真正理解的情况下开始使用 C++ 编程。
【解决方案2】:

当我从 C 转到 C++ 时,我发现 Thinking in C++ 非常好。

链接已损坏 - 现在可以找到 here

【讨论】:

  • 我担心链接坏了
【解决方案3】:

我想推荐由 Bjarne Stroustrup、Herb Sutter、Andrei Alexandrescu、Pearson / Addison-Wesley Publishers 和 Marshall Cline 创建的 New C++ Super-FAQ (http://www.parashift.com/c++-faq/)。

【讨论】:

    【解决方案4】:

    如果您可以获得Scott Meyer's“Effective C++”的第二版,那应该会有所帮助,因为它是为前 C 开发人员编写的。它列出了你应该遵循的 50 条规则,这些规则很容易记住、解释透彻并且读起来很有趣。 (Scott 的目标是写一本人们应该读的“最好的第二本 C++ 书”,我认为他在这方面取得了成功。)

    本书的第 3 版进行了全面翻修,比早期版本更面向来自 C#、Java 等的开发人员。尽管如此,它可能还是不错的阅读。

    【讨论】:

      【解决方案5】:

      Accelerated C++也不错。

      【讨论】:

      • C 程序员的一本非常糟糕的书!教你什么是变量等等。浪费时间。
      【解决方案6】:

      这个very recent SO question 是由一个没有经验的 C 程序员提出的,但其答案也适用于有经验的 C 程序员。

      【讨论】:

        【解决方案7】:

        如果您已经是一名优秀的 C 程序员,您可能可以直接跳入 Stroustrup 的C++ 编程语言的圣经。

        【讨论】:

          猜你喜欢
          • 2011-02-11
          • 2011-12-22
          • 1970-01-01
          • 2011-02-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-07
          • 1970-01-01
          相关资源
          最近更新 更多