C ++ - 两个基本问题

时间:2010-02-27 02:24:02

标签: c++

1)我查看了C ++推荐的阅读列表。我可能还是个初学者。那么,我还会从一本初学者书开始,然后从那里开始吗?并且,您是否建议在升级之前为每个级别阅读一本书,或者在一个级别上阅读所有书籍?

显然,我只能从一本书开始。我应该从哪一个开始?

2)在业余时间我可以做些什么样的项目来练习和提高我的技能?

我对设计的网络应用程序特别感兴趣。那可以作为初学者吗?例子很棒。

10 个答案:

答案 0 :(得分:4)

如果你是一个完整的编程初学者,我不知道哪本书可以让你开始使用C ++ - 我建议几乎任何其他语言对于从来没有的人来说更简单以前编程过。

如果你是一位经验丰富的其他语言程序员,只是C ++的初学者,我会从Eckel的Thinking in C++开始 - 它具有在线免费提供的巨大优势,所以你可以在至少开始使用它(如果你决定购买纸张+ CDROM版本,如果你有钱并喜欢这本书,这是恕我直言,它将完全睁开眼睛,而不仅仅是你们许多人的“赌博” $$$对别人的看法;-)。一旦你完成了两卷Eckel和练习,你就会知道足够的C ++来挑选和选择你希望继续学习的高中级,高级,专家,书籍和项目。

(当然我很有偏见,因为Bruce是朋友和Python爱好者,但他的Java和C ++书籍无论如何都非常受欢迎,除了我的偏见之外; - )。

Web应用程序不是C ++使用的典型字段(当然,您可以使用您喜欢的任何语言,我甚至不知道用于Web应用程序的流行/广泛的C ++框架 - 我在C ++方面非常擅长,尽管这些天我做了更多的Python [[网络应用程序的优秀语言btw ;-)]]而不是我做的C ++)。

答案 1 :(得分:2)

  1. 我不确定你所指的是哪个列表,但一般来说,阅读不止一本“初学者书”将是多余的;只挑一个好的并坚持下去;当你对基础知识感到满意时,你可以转向更高级的东西(你会更好地了解你想去的方向)。

  2. 我发现“编程挑战”网站在学习新语言的过程中帮助我做很多事情;我在Project Euler工作时学习了Python。其中一个很好的列表是herehere

  3. 另外,我会回应Scott的建议,如果你想做网络应用程序的东西,C ++是错误的方法;它确实缺乏框架支持。我会去Python,C#/ ASP.NET,甚至是Java。

答案 2 :(得分:2)

1)我假设当你说你是初学者时,你的意思是一般的编程初学者。你可能想看看Bjarne的Stroustrup的新书:

Programming: Principles and Practice using C++

alt text http://ecx.images-amazon.com/images/I/51TGVYzL%2BUL._SS500_.jpg

这本书非常具有教学意义,基本上没有背景。我建议你去做很多练习。

另见Stroustrup's page on the book


2)为编程背景最小的人编写的另一本C ++入门书籍是Francis Glassborrow:

You Can Do It!: A Beginners Introduction to Computer Programmin


3)如果你有另一种现代编程语言的坚实背景(如相关SO问题中所述)Andrew Koenig和Barbara Moo:

Accelerated C++

绝对是您的最佳选择。再一次,完成大部分练习。

答案 3 :(得分:1)

对于一个干净的C ++初学者,我建议Accelerated C++, Practical Programming by Example 作者:Andrew Koenig和Barbara E. Moo - 一个很好的介绍。

答案 4 :(得分:1)

  1. Eckel在C ++中的思考是要走的路!
  2. 做数学项目。

答案 5 :(得分:0)

1:我会说找一本好的初学者书并通读它,然后再深入一本。 O'Reilly的“学习”书籍是很好的初学者 - 根据我的经验阅读(C++ In A Nutshell也许对于那些有过编程经验的人来说),而Bjarne的书(The C++ Programming Language)可能是一个很好的选择。 - 如此初学者但不是深刻的魔法书。

2:当我学习一种新的编程语言时,我喜欢编写我使用的常见Unix / Linux命令的副本(wc,grep,sort等)。这允许我学习控制结构,文件和控制台I / O,以及在始终具有原始版本以比较我的结果的上下文中的其他必需品。我没有在Windows机器上编程,但我确定有一些类似的命令,或者你可以使用Cygwin中的命令。

答案 6 :(得分:0)

如果你想构建网页,你就会用C ++咆哮错误的树。 C#/ ASP.NET对于网站更好,但如果你真的是初学者,你将首先学习HTML,然后学习Javascript,PHP,C#/ ASP.NET和/或Python。虽然C ++可以用于网站,但它并不常见且远非易事。我命名的所有语言都是常见的Web语言,对初学者来说更容易。但是,如果你只是想建立一个简单的网站,从HTML开始,这是所有其他的先决条件。

答案 7 :(得分:0)

在研究/研究我不熟悉的任何技术时,我从入门材料开始阅读,直到我感到厌倦/已经知道该级别的材料,然后转向更多中间材料并重复该过程(以及动手实践)到期)直到我感到舒服。

我不会花很多时间选择阅读哪些书籍,而是开始写很多书,如果不适合我就放弃它们。如果你买书,这是不实际的,但我订阅了几个在线图书馆,所以我可以采样各种材料。

答案 8 :(得分:0)

所以现在我正在学习C ++的计算机课程,所以我还是一个初学者。但是我在课堂上学习的方法是将我的案例“C”和“C#”中的不同语言的应用程序翻译成c ++。这会迫使你遇到问题,错误甚至是头痛。这是一个很好的学习方法。

因此,如果您有使用这些语言的经验,我建议翻译一些应用程序,如古典动物收容所,汽车租赁等...

你将获得快速获得经验并获得与'C'相同的本能,以及没有。

编辑只要留下此评论以防有人偶然发现这篇旧帖子。

答案 9 :(得分:-1)

我从“Thinking in C ++”系列开始,并很快发现自己需要项目来实际应用我正在学习的内容。这是一个好的开始,因为你可以从作者的网站上免费获得它们。

我出版了一本由D.S. Malik撰写的教科书风格书C++ Programming,因为每章都有问题需要解决。这样做是我认为最好的学习方式,因为如果你马上进入一个完整的项目,你就不会那么成功。走教科书路线会给你一些材料,然后是你可以用这些知识解决的一堆问题,当你到达本书的最后时,它会建立起来。您通常可以在亚马逊上购买旧版本的教科书< $ 10

我找到的最好的项目是开始做基本的文本文件I / O并从那里开始。您还可以使用C ++在相当早的阶段进行图像处理,生成图像并执行加/减操作,颜色更改等。

找到项目对我来说似乎是比较困难的事情之一,这也是我喜欢教科书路线的原因。