第一章:c++基础

面向过程和面向对象
面向过程编程的主体是函数,他以函数为中心,自上而下,顺序执行,逐步细化
面向过程的优点:性能比面向对象高
缺点:没有面向对象易维护,易复用,易扩展
面向对象编程是以对象为中心,他要解决的问题分解成各个对象(变量,数据)而不是各个流程,步
骤,更注重对象与对象的交互(而不是方法与方法,数据与方法),步骤是分析参与问题的有哪些实
体,这些实体应该有什么属性和方法,如何通过调用这些实体的属性和方法解决问题
面向对象的优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特征,可以设计出低
耦合的系统,使系统更加灵活,更加易于维护
缺点:性能比面向过程低,因为类调用时需要实例化,开销比较大,消耗资源
new delete malloc() free() 区别
1.new delete 是关键字, malloc() free() 是库函数,需要头文件支持
2.new 申请的空间大小无需指定,系统根据类型自行计算, new 返回的是申请类型的地址,不需要强
转。 malloc() 需要显示指定所申请空间的大小,且返回 void* ,因此需要强转为所需类型
3.new 申请空间的同时可以进行初始化
//初始化
char *p1=new char('a');
int *p2=new int[3]{1,2,3};
//new 整型地址
int** p=new int *;
delete p;
p=nullptr;
//new指针数组
int** p=new int* [3];
delete[] p;
p=nullptr;
//new数组指针
int(**p)[5]=new(int(*)[5]);
delete p;
p=nullptr;
//new二维数组
int(*p)[2]=new int{{1,2},{3,4},{5,6}};
delete[]p;
p=nullptr;
4.new 申请类,结构体对象内存空间会自动调用构造函数, delete 会自动调用类,结构体的析构函数,
malloc(),free() 不会
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙栩源

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

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

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

打赏作者

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

抵扣说明:

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

余额充值