c++知识回顾

流过昼夜 提交于 2020-01-20 04:51:24

静下心来回顾学过的知识,随脑中思考到的书写。
相对c语言更多了引用、指针的更多使用,增加类的实现对象,类的构造函数和析构函数,类的继承等等。需要理解类继承过程中对象的构造函数和析构函数的执行顺序,虚函数的作用,友元函数等。当然还有异步、vector、map等,这些掌握不深,先不提。

  1. 类和对象
    类是一个简单的对象的魔性,由变量和函数组成,对象使用这些变量来存放信息,调用这些函数来完成操作。

  2. c++允许在类中可以声明常量,不充许对他进行赋值,否则出错;但声明前加static变为静态变量则可以。(具体原因需了解常量、静态变量的存储区域,以及类的存储区域)

  3. 构造函数和通用方法的区别:
    构造函数名字和类名一样;系统在创建某个类的实例时会第一时间调用这个类的构造函数;构造函数永远不会返回任何值;每个类中至少有一个构造函数,如果没有在类中定义一个构造函数,编译器则会执行无参的默认构造函数。

  4. this指针
    静态成员函数不存在this指针,非静态成员函数存在this指针,“this指针”指向成员函数作用的对象,在成员函数执行的过程中,正是通过“this指针”才能找到对象所在的地址,因而也就能找到对象的所有非静态成员变量的地址。

  5. 逗号运算符
    eg:x=(w1,w2,…,wn),对所有的wi表达式从左到右开始计算直到wn,最后将wn的值赋给x

  6. 字符串
    在自定义的字符串中,‘\0’为字符串结束的标志,如果在‘\0’之后还有内容,不论后面是什么内容均被忽略。如果是输入的字符串的花,遇到空格或制表符后,只将第一个空格或制表符前的字符串赋值,后面的均不算入。

  7. 构造函数的执行顺序;先调用继承类/基类的构造函数(多重继承时,按照声明派生类时基类出现的次序),再是本类子对象对应类的构造函数,最后是自身构造函数。

  8. 常见的运算符中优先级:
    !> 算数运算符>关系运算符>&& 、||>赋值运算符>逗号运算符

  9. 常用数学函数(<math.h>)
    cox(x):x的余弦
    sqrt(x):x的平方根,x>0
    pow(x,y):x的y次方
    exp(x):e的x次方
    fab(x):x的绝对值
    log(x):x的自然对数
    注:x、y为double型,返回值类型为double

  10. 常用字符函数级测试字符的函数<ctype.h>
    isalnum(c ):判c为大小写字母或十进制数字
    isalpha(c ):判c为大小写字母
    isdigit(c ):判c为十进制数字
    islower(c ):判c为小写字母
    注:返回值为int行

  11. <string.h>和的区别:
    <string.h>是旧的c头文件,对应的是基于char *的字符串处理函数,是<string.h>的std版;
    是包装类std的c++头文件,对应的是新的string类

  12. 指针
    指针数组int *p[4]:它是由4个指向整形数据的指针元素组成
    函数的指针 int (*p)(int ,int):p是指向函数的指针变量,指针变量p指向的函数的类型是int
    常指针 int * const p:p是常指针,其值是固定,即其指向不能变
    const int *p:p是指向常量的指针变量,不能通过p改变其指向的对象的值

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!