zoukankan      html  css  js  c++  java
  • 读《C++ Primer Plus》的总结

         经过这么多天的学习,探索,反思,我觉得有必要总结一下自己的学习过程。希望把自己这么多天来的混乱思维整理一下。

         看过大牛的代码,读过大牛的文章,不得不感叹自己的肤浅和无知,但我还是会对自己说,坚持,不放弃。

         我写这篇文章,主要是我对C++的理解和一些不太懂的地方,整理出来,看看自己到底哪个地方,还有多少是混乱的如乱麻。

         (1)C++中定义变量的,我想每一门语言都差不多。主要是一些字符的ASCII码的问题,和转义字符的问题,理解并记住它们,真的很重要。比如字符串比较

    函数中比较的就是ASCII码的大小,空字符和'\0'是不同的,因为它们的ASCII码大小不同。

         (2)C++中的循环,这个不用说了,和C语言中是一样的,但我还是不太会用for-each,这样可以提高效率。在实践中会发现循环的威力有多大。

         (3)C++中的函数问题,函数名相当于地址,传递参数时可以传递变量,引用,指针。主要难点在于函数的调用,递归函数。如何引用不同文件中的函数,也是难点。

    指针函数和函数指针的区别,指针函数,返回类型是指针,函数指针可以指向一个函数,写到这里让我想起结合性的问题,这里要注意。

         (4)const"只读"的问题,这个挺绕,至今不能很清晰的分出,比如char const *m和 char *const num,区别是*在const的左边还是右边,在左边修饰的是指针,在

    右边修饰的是指针指向的对象。

          (5)结构体和联合体的问题,主要是判断它们占的字节问题,这就牵涉到组成原理中字节对齐的问题,偏底层。

          (6)类的问题。这是面向对象的核心,也是C++区别于C的主要地方。首先,类的特点:封装、继承、多态。深入理解很重要,本质才是最重要的,这样才能以不变应

    万变。构造函数、复制构造函数、析构函数难度适中,类模板这个重要性可见一斑,比如容器就是用类模板写的。还有虚函数,虚继承的问题,这是解决多态的关键。当父类中定义

    虚函数时,子类继承父类时,定义一个子类对象,把它赋值给父类时,这是父类指向子类,调用函数时调用的就是子类的成员,这就是多态的问题。

         (7)容器和算法的问题,这个也是难点,标准容器中定义了很多的容器,这对编写程序提供了很大的便利性。STL学好了对编写代码会提高很大的效率。我对容器还是不太熟练,

    比如约瑟夫问题从网上看到一个大牛就是用vector容器写的,我只能用for循环了。

         (8)不得不讲的就是赋值操作符的问题了,这也算是个难点吧,不太明白,吸引我的可能是前增和后增问题,和赋值操作符的问题了。

         (9)流的问题,输入流是指键盘和鼠标,输出流的对象是屏幕和打印机,对于文件,输入主要是指从文件中读,输出主要是写入文件,在流中理解缓冲区的概念对理解流会有

    很大帮助。

          总之,从入学以来,有得有失,但给我深刻反省的是要理解底层原理,这要看问题才能看到本质。

          一句话结束:如果你手中拿的是锤子,那么你看到的只是满墙的钉子。

       

      

  • 相关阅读:
    session 和 aplication 相关总结
    asp.net网站发布时碰到的一些问题
    考前防脑瘫防挂分预防针
    【游记】NOIP2021 白给记
    SELECT list is not in GROUP BY clause and contains nonaggregated
    StringUtils.isEmpty()
    gitLab生成SSH私钥后上传代码及获取代码
    tomcat配置https请求访问
    Mybatis:映射文件概述 & 增删改查
    Mybatis:核心文件概述
  • 原文地址:https://www.cnblogs.com/xshang/p/2834470.html
Copyright © 2011-2022 走看看