c++基础:c++与c的区别

  1. 面向对象的三大特性:封装,继承,多态;
  2. C++输出函数:cout<<
  3. <<endl:换行;
  4. 访问命名空间中的内容:命名空间名称::内容(变量或者函数);
  5. C++新增的数据类型:bool,类;
  6. Bool只有true(1)和false(0)两种取值,内存中一般占一个字节,不同编译器可能不同;可以当做整数来用;
  7. C++结构体位段:
    1. C++结构体可以为其成员指定所占的位数(一个字节占8位);
    2. 优点:节省内存空间;
    3. 同样具有内存对齐的特点;
    4. 例如:

                  

  1. 强制类型转换:static_cast<要转换的类型>(要转换的数据),是一个运算符;
  2. 域运算符: “::”
    1. 访问和局部变量同名的全局变量,用::来区分;
    2. 用于表示类的成员;
  3. C++输入函数:cin>>
  4.  new:开辟空间
    1. 连续开辟:p = new int[5];
    2. 释放空间:delete p;或delete[] p;

12.malloc和new的区别

(1)malloc是函数,new 是运算符;

(2)malloc开辟的时候要指定空间大小,new不需要指定;

(3)malloc返回值是void*,赋值需要强制类型转换,而new不需要

(4)malloc通过free回收,new通过delete回收;

13. 类通过new开辟空间,会自动调用类的构造函数进行初始化;

14. 析构函数:回收在构造中new出来的空间;

15.delete会自动调用析构函数;

16.类的写法:

class 类名

{

访问限制(public):

属性1;

属性2;

...;

(构造函数)类名()

{...}

(析构函数)~类名()

{...}

}

17.函数重载:函数名相同,参数的类型,数量不同;

18.函数类型不同(返回值),其它都相同,不能构成重载;

19.函数重载可以在声明的时候给形参一个默认值,则该参数不需要输入;

  1. 内联函数:用inline修饰
    1. 一般适合用于不存在while和switch等复杂的结构且只有1~5行语句的小函数上,否则编译系统将该函数视为普通函数;
    2. 引用类型:给变量取别名:;
      1. int num =10;int & ret = num;
      2. ret和num指的是同一个东西;
      3. 对数组只能引用元素,不能引用数组名;
      4. 不能定义引用的引用;

22.引用和指针的区别:

(1)引用作为函数参数,不会重新开辟空间,和变量指的是同一块内存;指针作为函数参数,会分配一个4字节的空间;

(2)指针变量可以不初始化,但是引用一定要初始化;

(3)引用不能改变指向,但指针变量可以改变;

23.

(1)空指针:NULL;

(2)野指针:没有初始化,使用delete和free释放的指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿峰不想搬砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值