2009-05-20 45 views
2

可能重复:
What is the best approach for a Java developer to learn C++如何学习C++当你用更新的语言陷入困境时?

你会如何去学习C++,如果你是 “停留在你的方式” 与像Java或C#新的语言?

我一直为3年的开发人员,我有一个都和Bachellors从一个有信誉的英国大学获得计算机科学硕士学位...

我写的C#线的百万数千行的Java和几百行的C ...

但我不知道C++,我觉得有点像我欺骗了行业,不知道我认为是一种关键语言。我已经在C++文件中编写了代码,主要是为了修正错误,但它实际上只是C的伪装。

如果你更习惯于更高层次的语言让你远离C++的本质,那么学习C++的最佳方式是什么?

有没有人从经验丰富的Java,C#(或其他语言)开发人员转到C++程序员?如果是这样的话,你是怎么做到的?难道你有什么想法吗?

+0

我曾经觉得和你一样。我首先学习了Java。现在我很了解C++。但我不确定我是怎么做到的,所以我可能不会有太大的帮助... – Zifre 2009-05-20 21:18:28

+5

我想认为“你有任何指针”是一个非常聪明的双关语。 – 2009-05-20 21:20:10

回答

4

通过阅读Stroustroup的C++编程语言。 从Common Lisp切换。

1

我有一个想法:尝试查找所有“Java for C++程序员”的文章,因为它们有这么多。它们是为那些走过历史道路的人写的(就像我做过的那样),但似乎应该有很多有用的信息,例子等等,这些相似之处是什么以及它们有什么不同。

也就是说,花了很多时间在C++ :-)

0

既然你已经有了一些C++编程技巧发展,我会由彼得·林登建议Expert C Programming: Deep C Secrets。它有一个很棒的C++部分,可以让你从C到C++。这应该让你用C++语法运行。当然,你可以像你这样任何其他语言直奔Stroustrup的,如果你觉得更饿了......

获得了良好的C/C++编译器和获得工作......

1

漂亮多了。选择一个项目并使用C++编写。通过阅读C++代码来汲取适当的习惯用法,让自己沉浸在语言中。阅读有效的C++等好书,将帮助你编写正确的C++。 C++是一种非常好的语言,它受到C#和Java程序员的极大打击,所以试着用积极的心态去探索它。

0

我可能会先集中在那些你已经知道的语言之间的共同点,即C语法,Java/C#中的类和封装,并且从那里开始主要是C中不同类型的问题,还有指针当然还有手动内存管理。

Bruce Eckel的Thinking in C提供了一个相当不错的多媒体介绍(带动画的flash视频)给C语言编程语言家族。

一旦你得到了这些基础排序,我会建议专注于抓住STL并最终提升。

而且,有一点可能是值得一试,以获得实际使用的新知识开始,可能会开始分裂你未来的项目分成不同的模块,其中某些部件/零件可能被用C++实现。

这鼓励模块化设计,并提供一种实际学习新事物并逐步应用您的知识的方法。这可以通过计划将新项目的一小部分实现为DLL或托管C++代码来完成。

在发现不能直接使用/嵌入C++组件的情况下,您仍然可以尝试遵循面向C++的方法,故意牺牲一些您知道在C++中不可用的Java/C#工具。

换句话说,在平台和语言之间通常有一个共同点,在网络编程中它是例如BSD风格的套接字,在Windows上通常可以使用Win32 API。