上周和一同学聊起了当前一些比较流行且运用广范的编程语言,苹果的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++的库很大,你要想用好这门语言你当然得对标准库有一定程度的了解了,要想写

出好的代码的话,在数据结构方面以及内存使用上肯定也得有相当深厚的功底才行,好

好学吧!

初学者对C++的切身感受的更多相关文章

  1. MySql与Oracle的区别总结

    在平时工作中使用这两个数据库的时候要多一些,这两数据库的使用方面存在的一些各自不同的地方,许多面试官也会问这两个的区别.所以,凭着自己的一些经验个感触,来说说这二者的区别. 使用的群众:MySql中小 ...

  2. 【Mood-10】每个程序员都应该读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  3. StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  4. 【转】StackOverflow程序员推荐:每个程序员都应读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  5. 如何使用google解决问题

    如何使用google解决问题 redguardtoo著 文章选自2004年<程序员>杂志第8期P56 前面收集了篇如何问问题的文章就是<学会提问>http://blog.pro ...

  6. 华为五大专家亲述:如何转型搞 AI?

    导语:非AI专业技术人员转型AI技术,或是作为一名学生学习AI技术开发,对每个有这样诉求和经历的人来说,都希望能够看到AI技术人才的成长经历,给出自己的真实经历分享. 前言 参考塞缪尔.约翰逊(18世 ...

  7. Java反射的浅显理解

    一.回顾反射相关的知识 1.在xml文件中使用反射的好处: 1)代码更加灵活,后期维护只需要修改配置文件即可 · 初学者一般习惯于在代码本身上直接修改,后期也可以修改配置文件达到相同的目的 · 修改配 ...

  8. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

  9. Python标准模块--asyncio

    1 模块简介 asyncio模块作为一个临时的库,在Python 3.4版本中加入.这意味着,asyncio模块可能做不到向后兼容甚至在后续的Python版本中被删除.根据Python官方文档,asy ...

随机推荐

  1. YTU 2580: 改错题----修改revert函数

    2580: 改错题----修改revert函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 194  解决: 82 题目描述 修改revert函数,实现输入N个数,顺序倒置后输出 #i ...

  2. BZOJ_5343_[Ctsc2018]混合果汁_二分答案+主席树

    BZOJ_5343_[Ctsc2018]混合果汁_二分答案+主席树 题意:给出每个果汁的价格p,美味度d,最多能放的体积l.定义果汁混合后的美味度为果汁的美味度的最小值. m次询问,要求花费不大于g, ...

  3. sharepoint2013安装AppFabric出错

    手动安装AppFabric "d:\WindowsServerAppFabricSetup_x64.exe" /i CacheClient,CachingService,Cache ...

  4. 任务42:EF Core Migration

    任务42:EF Core Migration 右边的是在VS2017中使用的命令,左边是在VSCode 的DOS窗体中使用的 最新版本的core 2.2.1的 版本创建以后已经没有model类了. 下 ...

  5. Swift4 扩张(Extenstion), 集合(Set)

    创建: 2018/03/09 完成: 2018/03/10 更新: 2018/04/19 修改小标题  [扩张的定义与使用协议] -> [通过扩张来采用协议] 更新: 2018/09/18 标题 ...

  6. bzoj 1927 [Sdoi2010]星际竞速【最小费用最大流】

    果然还是不会建图- 设\( i \)到\( j \)有通路,代价为\( w[i][j] \),瞬移到i代价为\( a[i] \),瞬移到i代价为\( a[j] \),逗号前是流量. 因为每个点只能经过 ...

  7. bzoj 2087: [Poi2010]Sheep【凸包+极角排序+dp】

    首先处理处理出来哪些边能连--能把羊分成两个偶数部分的,实现是在凸包上枚举极点,极角排序,枚举凸包上点对判断两边羊的个数的奇偶即可,设可以连边为v[i][j]=1 然后设f[i][j]为从i到j个凸包 ...

  8. 洛谷P4891 序列

    传送门 这题纯暴力竟然能过…… //minamoto #include<cstdio> #include<iostream> #define mul(a,b) (1ll*a*b ...

  9. Luogu P2921 在农场万圣节 【tarjan in 有向图】 By cellur925

    题目传送门 上来就想到既直接又简单的暴力方法,顺着每个房间的下一个走下去就好了,但是没想到最坏情况会达到1e5,100000的数据铁定超时. #include<cstdio> #inclu ...

  10. ubuntu下进入xampp mysql命令行

    在命令行下进入到/opt/lampp/bin目录,使用命令:sudo ./mysql,回车即可. 注意:运行这个命令需要加上sudo,以root权限来运行,不然有些数据库没有权限查看.