您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
我该如何成为一名合格的C/C++软件开发工程师?
语言,数据结构,指针我该如何成为一名合格的C/C++软件开发工程师?
发布时间:2016-12-08加入收藏来源:互联网点击:
我该如何成为一名合格的C/C++软件开发工程师?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
1、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
2、C语言与C++语言是两回事。就象大熊猫和小熊猫一样,只是名字很像!
3、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
4、对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)
5、学习编程的秘诀是:编程,编程,再编程;
6、认真学习每一门专业课,那是你的吃饭碗。
7、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看!所以多去实验室上机,现在错的多了,毕业后就错的少了。
8、从现在开始,在写程序时就要养成良好的习惯。
9、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路
。
10、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
11、VC、C、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!
总之,记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!
回答于 2019-09-11 08:43:50
要想成为一名合格的C/C++软件工程师,需要做到以下几点:
熟悉编程语言语法,这一点不用过多解释。从本质上(硬件上)理解指针,对于这一点,其实硬件人员反而更容易理解,当然如果你在大学学习过模电数电课程,也会容易理解一些。如果没有硬件方面的基础,强烈建议看一看微机原理这本教程;看一看C++高阶进级教程,熟悉常见模板类的使用(STL),如vector容器、迭代器、boost智能指针等概念;了解常用数据接结构、算法、23种设计模式,并在实践中加深理解;最后一点,多多练习,不要光看,还要多实践。回答于 2019-09-11 08:43:50
现在正处于互联网公司的鼎盛期,而互联网公司主要使用Java、C#等语言,因为这些语言学习成本低、安全性高,且有很多已经写好的模块,可以直接调用,不需要造轮子。因此,如果你想进入互联网公司,那么并不建议花太大精力学习C/C++。至于C/C++的用途,C语言适合做嵌入式、操作系统,C++则更擅长做机器学习、计算机视觉、GUI编程等。
作为一个把C/C++当作毕业挚爱的童鞋,我说一下我的看法:
1. C++大致可以认为是在C语言这种结构化程序设计语言的基础上,增加了面向对象特性。因此,C语言的基础要掌握,包括输入输出、基本数据类型、指针、数组、字符串、函数、结构体等。有一些容易混淆的概念,比如数组名和指针、字符串和字符数组,一定要辨析。
2. 面向对象特性,C++如何实现封装、继承、多态。如果你熟悉Java语言,还可以比较C++和Java多态机制的区别。其他与类和对象相关的知识,还包括static关键字、const关键字、函数重载等。
3. 数据结构与算法、STL。数据结构、算法,与编程语言无关,是放之四海而皆准的。对常见的数据结构及其特点(时空复杂度、适用场景)应非常熟悉。经典的数据结构都被写进了STL容器,常用的有vector、string、stack、queue、set、map等,去看看它们底层是如何实现的。而算法,常用的就是查找和排序,像STL中也提供了优化的排序函数,直接调用std::sort()就可以。
4. 程序运行时的内存分配,尤其是栈和堆。理解栈和堆各自的特性,可以让你写出更安全、更快的代码。
5. C++11以后的新特性。时代在进步,C++也非复当年吴下阿蒙。这些新特性,很多是提供语法糖,例如auto关键字、lambda表达式、序列for循环、智能指针;但也有些要求使用者对C++机制具备深刻的理解,如右值引用、移动语义,这些可以算是进阶内容。
6. 图形界面编程。早期的MFC,现在的Qt,都是优秀的GUI库,可以做出漂亮的图形界面,非常有成就感!
7. 优化代码的意识。在保证代码可读性、可维护性的前提下,让代码更快、更省空间、更安全,是每个C++程序员追求的目标。引用传递、右值引用、STL......都是为此而生。有时我们还需要用到操作系统甚至硬件方面的知识。优化代码的过程,也能不断加深我们对于C++底层机制的理解。
以上其实也算是我在分享自己学习C++的过程吧我真的很喜欢C/C++,也希望能遇到更多志同道合的童鞋,互相探讨
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |