乐趣区

关于c++:C到C

1. 新类型 布尔 援用

整型         int       long
浮点型       float     double
字符类型     char    
布尔         bool

bool 寄存真 (1) 和假 (0) 的类型 大小 1 个字节 能够寄存 true    false
指针 寄存地址的变量 能够间接批改变量的值 
定义的时候能够不必赋值 应用的时候 如果不赋值不能够解援用 应用的是指向的变量
援用 变量的别名 应用援用和应用变量是一样的 
定义的时候必须绑定一个变量 绑定之后不能够让援用指向别的变量

2. 函数 内联 重载 缺省

2.1 内联 inline

    宏定义 #define 不带参数 能够替换简略的函数 不能替换简单函数 先替换再计算
    没有函数的跳转工夫 增长代码长度 节约运行工夫长度 消耗内存 倡议应用内联函数替换带参宏
    区别:1. 内联函数 参数有类型(更平安) 带参宏没有类型
    2. 带参宏 先替换再计算 须要思考优先级问题
      内联函数 先计算 而后后果带进去 不须要思考优先级问题
    内联 inline 关键字 放到函数后面 倡议这个函数用内联的形式编译
    `inline void(int& a)// 函数背后加上 inline 关键字称之为内联函数
    {a = 2;}` 

2.2 重载 C++ 容许函数重名

    函数定义 容许重名
    函数返回值类型 / 参数名字不一样不形成重载 次要看参数
    函数参数个数不一样 形成重载
    void fun(int a);
    int fun(int aa, int bb);
    
    函数参数类型不一样 形成重载
    void fun(int a);
    int fun(double b);

2.3 缺省 给函数形参一个默认值

    调用函数的时候 有默认值的形参能够不必传递参数 申明 / 定义的时候赋值
    缺省必须从右往左
    void fun_1(int a, int b, int c = 1);
    fun_1(3, 2);
    void fun_2(int aa, int bb = 12, int cc = 11);
    fun_2(13);
    
    缺省和重载 引发一个二义性问题 两个函数形成重载 然而调用的时候两个函数都能够匹配
    void fun_3(int a, int b = 2);
    void fun_3(int a, int b = 4, int c = 6);
    fun_3(1);// 此时都能够调用

3.C++ 申请内存 new delete

 C 语言 申请堆内存 malloc 开释 free 头文件 stdlib.h
int* p = (int*)malloc(sizeof(int)*20);// 申请内存
free(p);// 开释内存

C++ 申请内存 应用 new 开释内存 应用 delete
int* p = new int;// 申请一个 int;
delete p;// 开释一个
int* pp = new int[20];// 申请 20 个 new 类型[个数]
delete[] pp;// 开释多个

申请内存的时候给他赋初值
int* p = new int(20);//()示意初值
int* pp = new int[20]{1, 2, 3. 4. 5};// 赋予多个初值

4.C++ 的输入输出形式

stdio.h C 语言输入输出头文件 io input 输出 output 输入 standard 规范
iostream io 输入输出 stream 流
count<< 输入的内容 <<endl;//endl 示意换行 输入数据
cin>> 变量;// 输出数据
退出移动版