如何学习C ++当你遇到新语言时?

时间:2009-05-20 21:15:38

标签: c++

  

可能重复:
  What is the best approach for a Java developer to learn C++

如果您使用Java或C#等新语言“陷入困境”,您将如何学习C ++?

我作为一名开发人员已经工作了3年,我从一所着名的英国大学获得了计算机科学的Bachellors和硕士......

我已经写了数百万行C#数千行Java和几百行C ......

但是我不懂C ++,我觉得有点像我因为不知道我认为是一种关键语言而欺骗了这个职业。我在C ++文件中编写了代码,主要用于修复错误,但实际上它只是伪装成C语言。

学习C ++的最佳方法是什么,如果你更习惯于更高级语言让你摆脱C ++的细微之处的好抽象。

SO上有没有人从经验丰富的Java,C#(或其他语言)开发者变成C ++程序员?如果是这样你是怎么做到的,难道并且你有什么指针吗?

6 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

我有一个想法:尝试查找所有“Java for C ++ Programmers”文章,因为它们有很多。它们是为那些走上历史路径的人而写的(就像我一样),但似乎应该有很多有用的信息,例子,等等,它们的相似之处以及它们之间的区别。 / p>

那,并且花了很多时间用C ++开发: - )

答案 2 :(得分:1)

非常像你做任何其他语言。选择要处理的项目并用C ++编写。通过阅读C ++代码让自己沉浸在语言中,以获得恰当的习语。阅读有效的C ++等好书会帮助你编写正确的C ++。 C ++是一种非常好的语言,它被C#和Java程序员所淹没,所以尝试以积极的心态进入它。

答案 3 :(得分:0)

由于你已经掌握了一些C编程技巧,我建议Peter van der Linden Expert C Programming: Deep C Secrets。它有一个关于C ++的很棒的部分,可以让你从C到C ++。这应该让你运行C ++语法。当然,如果你感觉更饥饿,你可以直接去Stroustrup ......

获得一个好的C / C ++编译器并开始工作......

答案 4 :(得分:0)

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

Bruce Eckel的Thinking in C提供了一个非常好的多媒体介绍(带有动画的flash视频)到C系列编程语言。

一旦你对这些基础知识进行了分类,我建议你专注于掌握STL并最终提升。

另外,为了开始实际使用您的新知识,可能值得尝试的一件事可能是开始将您的未来项目拆分为不同的模块,其中某些组件/部件可能用C ++实现。

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

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

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

答案 5 :(得分:0)

尝试this question