C++学习方向及深入

2024-11-18 03:07:26
推荐回答(5个)
回答1:

看你的这个回答,就知道你这个人很浮躁。首先你说你的学习是重复的?学习了C在学习C++你认为C++完全包含C语言了。?? C++基础你说你都看烦了,请问你的C或者C++基础是不是打的很好了呢? 告诉你吧,我大学学的是计算机科学与技术专业,开的课程应该与你们差不多,数学就不说了,高数,离散,概率论,等等。 其实主要就学了几个方面,一个是程序设计语言,我们学习了 汇编,C,C++,C#,Java。 几乎主流的C系列语言都学过了。 除了VB,Delphi这两个语言都是B系列的(Basic),Delphi的原生语言是Pascal。先不说你们学校开课是否合理。首先你应该将整个计算机专业的课程的框架结构搞清楚,那个语言是用来做什么的,例如汇编语言主要是在嵌入式,病毒,加密解密,软件逆向工程等方面使用的比较多。C语言主要是在嵌入式上,C++主要用来开发应用程序,特别是Windows环境下的窗口程序,或者Linux系统些的程序。例如我们平时玩的 魔兽,传奇等等这些游戏几乎都是C++开发的,而Java,C#在网页应用程序方面使用的非常广泛,java在手机游戏方面也很出色。

而在数据库方面我们平时接触的比较多的就是微软的SQL Server,甲骨文的Oracle数据库了。

从你的叙述看出你是要将精力放在C++上面了,可以看出你的迷茫时在:“整天学习的编程都是在dos窗口下,怎么才能写出windows窗口程序呢,就像QQ这样的程序?” 我相信你也是有这样的疑问的,所以你说你找不到方向,不知道如何下手。 首先你要知道,任何知识基础是至关重要的,你说你看C++的基础看的烦了,试问你C++基础真的学好了吗,可以看出你很浮。 C++中的指针,数组,函数,类,多继承,多态,函数模版,类模版,异常机制这些最重要的东西你是否都搞懂了,泛型程序设计,C++标准模版库,那些泛型算法你是否都了然于胸了呢? 当然并不是说要你都搞的精通了在去学Windows程序设计,我相信现在的很多Windows程序员都没有把这些高精通,因为这些东西实在是太庞杂了,C++本身就是一门复杂的语言,没几年功夫连入门都很难。

如果你要学习Windows程序设计的话,首先 《Windows程序设计》这本书是不的不看的,里面的程序例子都是用Windows api写的,没有涉及到框架等等,这样你可以了解到Windows程序运行的消息机制。到底一个窗口程序时怎么跑起来的。 这些原理你至少要熟悉,其次 《VC++ 技术内幕》这本书讲的很好,还有就是侯捷的相关书籍,特别是如果你要学MFC的话,《深入浅出MFC》这本书是必看的。。 C++还有很多好书,你自己去网上搜索,例如林锐的《高质量C++》,侯捷翻译的《深入探索C++对象模型》《c++模版》,等等。。

学习要脚踏实地,要把自己沉下去,切不可浮在表面。那样只会人云亦云,知其然不知其所以然,实质性的东西学不到。

回答2:

C++学习方向 你问你们老师才对.
哪天你问问你们老师:"老师同志,你教我们软件开发,到底是开发什么软件?"

你老师的回答肯定是:"你开发什么软件问我干什么!".

首先你要学会一门编程语言,数据结构算法,和一种数据库,并会用你的语言操作它,网络编程基础,还要会WINDOWS编程,等等这些基础的, 这些课其实很简单,一年就搞定了,还有很多玩的时间,不过要合理安排时间.

学会基础的之后,就要选择你到底要从事哪一方面的软件开发了.
是 数据库软件开发? 游戏开发? 网站开发? 嵌入式开发? 网络产品开发? 多媒体软件开发? 系统程序开发? 人工智能软件开发? 还是专门为一种行业软件开发.

请问你选择哪一种软件开发?

你要向哪方面发展就去找哪方面的资料看,你不会让老师一个一个教你吧,老师可能也不会.....

以上这些发展方向都是按"年"来学习的,第一年你只是个菜鸟,第二年你也是个菜鸟,第三年你是个新手,然后去工作了,再慢慢实习去吧.

回答3:

我也是C++初学者,我也觉得有些迷茫~~C++的内容好庞大高深奥哦~~~ 我们现在接触的实在是太小太小的一个部分了~~~ 我觉得基础要打好本来就是一个漫长有需要耐心的过程~~~ 我自己觉得~如果说现在刚入门或者可能根本没入门就去定方向,可能我们会看不清形势,也不了解自己到底在哪个方向有优势,还不如先埋头把API,MFC学好~~~站得高点了自然看得远点,这点基础不管往哪发展都有用的,等视界大一点的时候在决定要走的方向也不是件坏事~~~ 我刚刚接触到了API,了解了一点现在在学MFC,其实我什么都不懂~~哈哈~~~只是凭自己的感觉说一下~~~想法太肤浅的话希望大家不要见怪哈~~~其实我觉得大家志同道合的,何不携手前行,一起努力呢~~

回答4:

 一、技术能力
  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内核》,应该可以知道自己应该学什么了。
  二、项目经验
  以上的内容如果都精通了,也算是个比较厉害的程序员了。但是对程序员来说,项目经验更加重要。一个好的项目可以让把各种技术进行综合运用,并且能学到一些新的知识。比如说做游戏的就需要学习图形方面的知识,做播放器的要学习编解码器方面的知识。
  很多程序员会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有知道作用,实践能加深对理论的深入理解。

回答5:

你以后想往哪个方向发展? WINDOWS程序 or linux程序 是应用程序设计还是深入内核的,驱动之类的编程?OR 3D游戏方向 这些都有不一样的。如果还不清楚想往哪个方向。我建议,有了一定的C++基础后,看WINDOWS程序设计,因为这个比较基础通用,可以锻炼你的编程能力,以后再改变方向也可以。看WINDOWS程序设计的时候自然要用到VC,MFC.等你把这些学完你就多练几个开发项目。再你就会知道你该学什么了。

我是来要分的。因为我也要提问题没分了。。但我说的都是经验之谈。我也在学编程。