回答
我不认为这样的网站存在,我怀疑它永远会。原因在于C++是巨大的 - 我的意思是reeaallllyyy巨大。
当你开始专业编写C++代码(即每周40小时),并花1或2小时学习有关C++ 每天(即每周5-10小时)的新内容时,阅读书籍和文章, 如果不是几年,你将需要几个月的时间才能成为一名真正的专业C++程序员 - 假如你的工作不需要你学习任何第三方API,新工具,新技术以及什么都不会让你从学习中分心C++。
几年来,我已经为已经接触Java一年的学生教授C++。在4-5个月,12-15次讲座中,至少在实验室中两次,我已经设法从“你好,世界!一直到模板元编程的简短介绍。每个知道该范围内所有区域的人都会告诉你,在此之后,他们仍然是血腥的新手。 (哎呀,我使用C++的时间超过15年,赚取我的钱编写C++代码> 10年,,并且仍然几乎每周都会学到新的东西。这甚至没有考虑到大量的东西倾倒在我们身上按照新的标准,这个标准已经“几年了”)。
由于为了学习C++而需要覆盖的领域非常庞大,而且由于C++已经足够陈旧,所以在涉及到哪些标准习惯用法和“最佳”方面,它的程序员可以分为几代“他们了解到的做法,最后是因为(再一次由于其难以置信的庞大性),新技术不断被发现和发展(模板元编程,现在是C++的一个非常重要的特性,是没有人计划的事故),C++社区成语和实践方面的意见并不像Java社区那样紧凑,并且很难作为一套几十条规则进行沟通而不会引起激烈的讨论。
(我认为的事实,有几种不同非常好,推荐最佳实践书列出每个拇指几十规则,而事实上,他们中的一些管理,以后来获得补充更多最佳实践书,字面意思是关于这一点。)
你会发现很多专业的C++程序员只喜欢使用C++提供的30%。例如,许多人只是将它用作OO语言,错过了模板(可能除了STL),例外和其他非常有用的东西。但是C++是一个多范例语言。它支持面向对象编程以及通用编程,生成式编程,大量函数式编程以及其他一些范例。在这些范例相结合的地方,它变得最强大。
那么我的建议是什么?
看看The Definitive C++ Book Guide and List。
首先让你从初学者的书中挑选。既然你说你已经接触过C++,我推荐使用Andrew Koenig和Barbara Moo的C++。这是一个很好的介绍,对于改变教学C++的方式来说,这个介绍不够好,但它的学习曲线非常陡峭。另外,有250页,这只是一个简短的介绍。
到另一种做法可能是要么大师Stanley Lippman的C++入门(其中,在1000页,详细地讨论了同地)或布鲁斯Eckel的思考在C++(我不知道)或Bjarne的Stroustrup的经典The C++ Programming Language(also 1k pages)or his latest book,Programming - Principles and Practice Using C++(我还没有看过)。
这些书有足够的任务,让你忙一会儿。添加一些你自己的东西,你可以忙着学习几个月。
然后慢慢地沿着清单走下去。
的下一个C++标准,目前普遍预计,2011年将增加一些具有挑战性的概念的语言(如右值引用)和一个大大扩展了标准库。 (目前的草案有几乎是最后一页的的两倍)。不幸的是,由于该标准尚未完成,因此没有任何书籍可以教授它。这一切都在文章和在线讨论(尽管维基百科有a pretty good article about it)和这一切都意味着流利的C++程序员,而不是C++新手。不幸的是,没有一篇文章将C++ 1x教给C++新手。恐怕需要几年时间才能在几本推荐的书籍中选择。
别忘了C++ FAQ,这是一个非常好的(也是非常可读的)最佳实践(及其理性)的在线集合,尽管它绝不是介绍性文本。
+1 for C++ FAQ,这是一个很好的复习列表。 – Brian 2010-08-13 20:12:58
C++很复杂,但是为什么“常规”的C++程序员应该熟练掌握模板元编程?你能否指出一个例子,模板元编程使开发人员能够做其他方法无法做到的事情? 对于常规应用程序开发,不需要知道整个C++标准。了解语言的陷阱就足以了解它(这本身就非常重要),以及目前用于该项目的基本库。 – Schedler 2010-08-13 22:37:13
@Schedler:“你能否指出一个例子,模板元编程使得能够做其他方法无法做到的事情?”在编译时执行算法意味着,如果在开发者的机器上没有失败,它也不会在客户端上失败。如果你制作的应用程序要安装在几百万台台式机上,那么这个应用程序的价值几乎不可估量,几乎是值得的。当然,这并不意味着每个人都必须能够做TMP。但是,如果您将C++视为面向对象的语言,那么您就错失了很多。 C++是一个... – sbi 2010-08-14 10:09:03
实践中没有替代品。
在你的机器上找到你想要的程序(也许和计算项目中行数的东西一样简单),然后用C++编写。
我希望我能告诉你,我有一个很棒的资源,可以告诉你书中的每一个C++技巧,但事实会被告知,你是那个资源。
练习。从自己的错误中学习。你是你最好的老师。
Sphere Online Judge看起来好像可以和C++一起工作(还有其他一些语言)。它不像CodingBat那么简单,但会有更复杂的问题。
- 1. 网站类似cplusplus.com为C++ 11
- 2. C#学习类似于javabat的网站
- 3. 如何获取网站的源码c#的类似的检查器?
- 4. 网站字符编码
- 5. HtmlUnit:中国网站编码
- 6. 编码为竞猜网站
- 7. 编码网站禁用JavaScript
- 8. 编码自适应网站
- 9. 自定义网站的类似Mediawiki的编辑器?
- 10. Python:试图为多个(类似)网站(类似)的数据刮
- 11. 如何阻止Alexa和类似的网站访问网站
- 12. Python的瓶用密码保护的网站的.htaccess类似PHP
- 13. Woocomerce网站车和类似产品alignement
- 14. 类似Android的CSS/HTML网站模板?
- 15. 我想有类似的网站https://onlycoin.com/
- 16. Django:与eBay类似的购物网站
- 17. 创建类似于网站的表单
- 18. 类似于Photoshop的导航器网站
- 19. 类似FTP服务器的asp.net网站
- 20. 与Azure的网站和类似
- 21. 寻找类似门户网站的CMS
- 22. 用C++编写代码的类似代码
- 23. 标准编码网址,网站地图
- 24. 网站站长工具API C# - 网址编码SiteID导致400响应
- 25. 我的网站编码为响应网站,但它不是
- 26. 网址进行编码C#
- 27. C#中文编码/网络
- 28. 网站似乎不“中心”
- 29. 如何在我的网站上编译C代码
- 30. C#:事先获取WebClient的网站编码
thanx为链接。我已经学习了Python和Java,它将很好地去除一些灰尘和锈蚀。 – 2010-08-23 13:04:40