上周和一同窗聊起了当前一些比较流行且运用广范的编程语言,苹果的IOS比起其它语言
来讲更加言简意赅,简单明了,而且他如今也打算一直弄IOS。我以前一直是用C语言和
GNU ARM汇编语言,由于这两种语言在开发系统级程序和硬件驱动上比起其它语言来说更
加清晰明了,没有像其它的高级语言包装过分,同时时间复杂度以及总体的运行速度也
相对更佳,可是在系统上层应用软件开发上就显得比像C++更加繁琐,编程速度也降低了
很多。考虑到以后还得用QT(在嵌入式GUI表现的出色),且QT也是基于C++所编写的一
个完整的库,所以下定决心开始学C++。
C++有不少地方和C相同,能够说基本上继承了C的全部东西,除了这些,C++还
增长了不少新特性,如函数重载,类(class),容器,迭代器,标准库里还提供了100
来个范形算法给用户进行范形编程,下面我就以初学者的视角来逐一表达个人我的见解
吧。
对于函数重载,它是一组拥有相同的函数名但形参不一样(或返回值不一样)的函
数,用户编程时可使用这组函数中一任意一个,编译器经过审视形参从而决定对这组
函数中的哪个进行编译(虽然C++比C语言多了函数重载,其它只是C++的编译器比C编
译器多了这一项功能而已,但最终编译出来的只是对应的那组函数其中的一个,只是方
便了用户编程,还未发现其它用处),其实编程语言的不一样在根本上是编译器不一样,编
程语言是由其编译器来决定的,若是一个新的编译器作得好且让大量的程序猿接受,那
么也就意味着一门新的编程语言即将面世。
类(class)可谓是C++相比于C来讲最值得一提的,正是有了它,使得用C++来
编写大型程序在时间上的花费大大下降,在编写的代码量也相对C降低了很多,它能够像
LINUX的子进程继承父进程同样让对象继续类的一些特性和操做。class让用户本身来定
义本身的类型,让咱们使用起来和使用标准类型同样方便,此外咱们能够把定义的类进
行封装,让接口公有化(public),成员函数等具体操做进行私有化(private),这样就
可让类外函数只有访问public数据成员。但C++也考虑到了让类外函数访问类内的私有
数据成员,所以也为用户加上的友元函数。在类中定义对对象的具体操做让咱们在操做
类对象时提供了大大的方便。
容器,咱们经过名字也能知道它就是一个能容纳数据的一个器皿,就像C语言里
的数组,队列,栈,链表等同样,它分为顺序容器,关联容器,容器适配器,顺序容器
除了C语言里面的数组,还有vector,list,string,deque。其实这些咱们在C中都能实
现,不过C++已经帮咱们作好了全部的工做,咱们只要拿来用就好了。
迭代器,这东西听名字让我第一感受就是一个高端的新东西(至少我未从中能
顾名思义,也许是小学语言不行的缘由吧,哈哈),拿着书看了以后才发现它并非什
么高大上的新东西,之前经常用到的指针就是一个迭代器,其实它是一个用来操做一组
数据结构时的一个指示器,有没有想有数组当中的那个下标,对,就是那种做用,经过
它能够方便的操做咱们的数据。
范形算法它也很大程度上简化了咱们的编程,算法就是实现的具体方法,C++中
为咱们提供了100个左右的算法,好比排序,查找元素,删除元素等,免除了咱们手动一
个个的编写相应的函数。
从开始学C++也才6天,以上有错误之处还请帮忙指正,C++和C同样,博大精深
,C++在图形界面上的支持更让应用软件的编写获得了大力支持。要想学好C++很是不容
易,C++的库很大,你要想用好这门语言你固然得对标准库有必定程度的了解了,要想写
出好的代码的话,在数据结构方面以及内存使用上确定也得有至关深厚的功底才行,好
好学吧!算法