19

我试图找到一条从 C# 到 C++ 的阻力最小的路径,虽然我觉得在两年后我能很好地处理 C#,但我仍然不确定我是否已经掌握了 C++ 的“凹槽”,尽管进行了多次尝试.

是否有任何特定的书籍或网站可能适合这种过渡?

4

12 回答 12

17

大约两年前,我从 C# 切换到 C++(在编写 java 10 年后)。对我来说最有用的书是 Bruce Eckel 的Thinking in C++ [ AMZN ]。您也可以在Eckel 的网站上在线阅读这本书。这是一本写得很好的书——你可以在床上阅读的那种——作为键盘参考也很有用。它假定您对 OO 和一般编程概念非常熟悉。

Stroustrup [ AMZN ] 作为参考是非常宝贵的,但除非你试图回答一个非常具体的问题,否则基本上是不可理解的——即使那样,这也是一场斗争。几年来我还没有破解我的 K&R [ AMZN ]。我不认为它作为 C++ 参考有多大价值。Myers 的Effective C++ [ AMZN ](以及,一旦你到达那里,Effective STL [ AMZN ])是很棒的书。不过,它们非常具体(例如,“36. Design functor classes for pass-by-value”),因此在进行转换时不如 Eckel 有用。

在编写托管语言多年后,我编写 C++ 的经验非常棒。C++ 的表达能力是 C# 的 100 倍,而且编写起来非常令人满意——这是有保证的。另一方面,在我仍然可以编写 C# 的极少数情况下,我总是对自己能够快速简洁地完成工作感到惊讶。

无论如何,Eckel 的Effective C++可以帮助您进行过渡。有第二卷很好,但没有那么好。坚持原来的。

祝你好运!

于 2008-09-16T04:36:42.633 回答
13

我推荐Bjarne Stroustrup的 The C++ Programming language。这不是一本适合新程序员的书,但我发现它对于有其他语言经验并且不想浪费太多时间来学习 while 循环如何工作的程序员来说非常有效。这是一本内容丰富但内容相当全面的书。

于 2008-09-16T00:09:19.343 回答
7

我建议您阅读The C++ Programming Language一书(由 Bjarne Stroustrup 撰写)。它可能不是最好的书,但绝对是你迟早应该读的。

于 2008-09-16T00:06:51.020 回答
5

任何由Meyers写的、由相同的推荐或由Sutter写的。

于 2008-09-16T00:10:32.243 回答
3

Koenig 加速的 C++(编辑:和 Moo。)

于 2008-09-16T00:18:26.733 回答
1

它们从根本上是非常不同的野兽,因此它们之间没有最小的阻力路径。但是,我建议您事先阅读http://www.phpcompiler.org/doc/virtualinheritance.html,以防您需要重要的继承。它可以为您省去一些麻烦。

于 2008-09-16T00:18:04.097 回答
1

Bjarne Stroustrup 的 C++ 编程语言是必读的。Effective C++ (Scott Meyers) 是另一本我觉得很有帮助的书。

为了平衡这一切,请阅读 C++ FQA(http://yosefk.com/c++fqa/)——虽然它不是一本书,但它是一种宝贵的资源,我希望我在开始使用它时能够访问它C++。只是不要让它气馁。

于 2008-09-16T00:23:09.483 回答
1

我发现 Lippman 等人的“C++ Primer:第 4 版”非常出色。它从一开始就强调 STL 的使用、最佳实践和 auto_ptr 的使用。我从 Java 职位转到 C++ 职位,这真的很棒。

作为纯粹的参考,Josuttis 的“C++ 标准库”是最好的 STL(也是最糟糕的......这家伙真的不擅长)

最后,正如其他人所说,Meyer 的 Effective C++ 是 C++ 固有的“陷阱”的必读书籍

于 2008-09-16T00:54:57.627 回答
1

这是#C++ EFNet 中人们推荐的书籍列表:http ://rafb.net/efnet_cpp/books/

于 2008-09-16T04:41:26.630 回答
0

我认为 [K&R]( http://en.wikipedia.org/wiki/The_C_Programming_Language_(book))是 C++ 的先决条件。也许 C++ 最好的一点是它是一个更好的 C。

当然,Stroustrup(如 Mladen Jankovic 所建议)是必读的。

于 2008-09-16T00:14:41.390 回答
0

我的两本标准书籍是 The Waite Group 出版的 Robert LaFore 的第三版“C++ 中的面向对象编程”,以及 Osborne McGraw-Hill 出版的 Herbert Shildt 的“C++ from the Ground Up”。

于 2008-09-16T00:17:48.467 回答
0

您应该阅读已发布的其他书籍之一,然后还要阅读The Design & Evolution of C++。它可以帮助您深入了解该语言试图做什么。

于 2012-09-18T04:02:16.230 回答