C++学习方向及深入

来客你好,我是在校大学生,现在正在对软件技术这专业很迷糊。学校安排我们学的课程我觉得重复重复的学,由C,C++基础,C++面向对象,DELPHI,数据结构,计算机操作系统,SQL server。本人想找个师傅,是面向C++程序编写方向的。现在本来找不到方向,请高人指点。我现在看到C++这写基础我都烦了,我想深入学习,找不到学习方向。请问我该往这么办?下一部该学习API,还是VC++?请给我完整点的回答,比如,要什么书?
我现在最怕碰到现在这样,刚来学校的时候学C,下学期学C++,C++全部有C的内容,我觉得以前没必要浪费时间学C。
哪个有能力的人收我做徒弟吧。。我一定虚心求教。
本人 邮箱uftqanuxxn520@163.com
QQ 215544937
谢谢大家关注。其实我在C++上,像谭浩强C,和C++这两本书里面的东西练习,我都懂自己写了。我不想停留在这基础上,我想慢慢深入。当然我的目标是向,游戏,3D。或者算法上发展。等过几天再给分吧。我看看还有没有其他网友的意见

第1个回答  2020-11-18
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
第2个回答  2009-12-11
管他三七二白一
我先把孙鑫的深入了解看完了再说
然后,自己动手弄几个小软件
像 学生学习管理系统 学生成绩管理系统 通讯录等有mfc界面的软件。
然后了在看看还要学什么,什么Java 数据库 都要学,现在老师讲数据库、数据结构、还不想听。
第3个回答  推荐于2017-09-22
  C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。
  现在学习java、C#等语言的人数远远高于C++,主要是C++的入门门槛太高,可能学习了一段时间后还做不了什么东西,导致信心大受打击,进而放弃。
  1. 语言
  要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习,而学习语言最关键的莫过于选好一本书,学校的教材就算了,根本没有写得好的。在此隆重推荐《C++ Primer》,这本书很厚,内容也很丰富,对知识的讲解不仅仅停留在表面。如果这本书能有耐心看完,语言方面基本就没有什么大问题了,对以后的学习也打下了一个很好的基础。
  2. GUI
  C++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。这些GUI库都各有自己的特点,其实只要先了解一种就可以了,只要深入了解了一种GUI库,需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。
  3. 数据结构和算法
  很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好,几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当想让的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。
  最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。
  推荐《数据结构(C语言版)》,在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现,这样能更关注于算法本身的内容。
  4. 数据库
  学习数据库的基础知识,并且掌握一种数据库使用,推荐使用Oracle,而且最好不要用一些封装好的接口,而应该直接用Oracle提供的数据库API,可能对数据库了解的会更深入。
  5. 并行
  CPU主频已经不能遵循摩尔定律了,现在CPU发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用CPU的性能,提供更好的用户体验。这就要求如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。
  6. 网络编程
  这里所指的网络编程是指socket编程。现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是要考虑的了。
  7. 设计模式
  设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。
  8. 库的使用
  C++标准库仅仅提供了一些很基本的功能,所以经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。其它也有一些专著于某一方面的库,比如ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。
  9. 操作系统的知识
  程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识,Windows上的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该可以知道自己应该学什么了。
第4个回答  2009-11-26
建议你了解一下嵌入式
相似回答