美文网首页
C/C++学习笔记

C/C++学习笔记

作者: 星泼拿衣服 | 来源:发表于2018-11-20 23:16 被阅读0次

    C/C++运算符优先级

    简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
    同优先级别按结合顺序计算,一般是从左到右,但有三个例外,是从右到左计算,分别是单目运算符,条件运算符,赋值运算符。
    Q:int p[2] = [12, 34],*p++打印出来是多少?
    A:先自增,再指针指向其首地址,为3

    内存中堆与栈的浅析

    为了解决栈溢出,内存泄露
    栈内存(连续,1M),而堆内存(链表不连续,4G)
    性能:栈>堆
    OS级的数据结构(栈)
    C/C++函数库(堆)堆= new()/delete()

    内存:数据区,代码区。5个细部:全局(静态)区,栈,堆(与数据结构中的堆是两码事),常量字符串区,程序代码区(放函数体的二进制代码)
    数据区即变量(栈,堆)。代码区(常量字符串,全局静态,函数体)
    函数的调用=动态使用栈,不占内存

    void f(){int *p = new int[5];}
    在栈内存中存放了一个指向一块堆内存的指针p。程序先在堆中分配函数内存大小,在new分配内存,然后返回这块内存的首地址,放入栈中。

    基本数据机构

    char(1字节), short, int, long, enum(4字节), float(8字节), double, longdouble, pointer, void, union, struct, array,(如何判断入栈) function
    1字节(即存储单位)为8比特(位)


    继承与多态

    类class或对象object的成员
    成员分别有静态字段、静态方法、类方法、特性、普通字段、普通方法、

    限制说明符 基本数据结构及函数的成员(即实参、形参){...}
    限制说明符:静态static,常量const;
    继承方式:public > protected > private,private无法继承
    多态,父/子类成员,虚函数
    二维数组是栈内存分配,地址连续
    继承的重写,重载


    参数与变量的区别

    引用
    引用类成员=构造函数(初始化(列表,赋值(0值参数)),默认(空参数))
    传参,传引用类型
    传参 = 调用拷贝构造函数,而传值不会。
    调用函数和类函数的区别。变参函数,指针
    不显式默认构造函数的前提,传参空还是有,判断是函数还是类类型

    指针
    const char *p = ‘asd’;常量字符串,不可变
    char const * p = ‘dsa’;常量指针,不可变
    字符串数列与普通字符数列
    字符串数列char a[]={1234} 长度+1自带打印\n
    普通字符数列char b[]={‘1’, ‘2’, ‘3’, ‘4’}

    基类至少带一个虚函数才支持运行时多态


    整个标准库和语言本身浑然一体。这样子做的好处是,当你在培养对语言本身的直觉的时候,你也在培养对标准库的直觉,培养直觉这件事情你不用做两次。你对一个东西的直觉越准,学习新东西的速度就越快。所以C++的设计刚好可以让你在熬过第一个阶段的学习之后,后面都觉得无比的轻松。

    程序-设计模式-算法+/-数据结构-数据表达式-数据类型-输入输出记录变量(单调性,边界条件)-取内存-取地址

    argument 调用的实参。arg
    parameter 形参等价于*arg
    / 仅传递一个实参
    object 对象
    iterables可迭代
    variable 变量

    相关文章

      网友评论

          本文标题:C/C++学习笔记

          本文链接:https://www.haomeiwen.com/subject/btifqqtx.html