c和c++一些区别----01

关于newmalloc的区别:

1.new关键字是c++的一部分,malloc是由C的库函数提供

2.new的分配的单位是以数据类型的字节数,而malloc 的单位是由单个的字节数

3.new的在空间分配后可以进行初始化(尽量一个初始化,多个不建议),但是malloc分配后不能直接的初始化;

 

关于指针和引用的区别:

1.引用访问一个变量的时候是直接的访问,而指针的访问时间接的访问

2.引用不需要空间的分配,而指针需要空间的分配指针的空间

3.引用的定义的时候就需要初始化,且只能对应一个;不能再引用其他的;

 

使用一个new,进行分配一个二维,三维数组的空间:

char  (* pp)[2] = new char[2][2];

char  (*ppp)[2][2][2] = new char [2][2][2];

 

宏函数和内联函数:

宏函数在预处理的时候就进行了替换;

在执行的时候减少了进行参数的分配参数空间的;

用编译的时间换取空间

内联函数,是将函数整个代码的替换,减少了函数的调用的和返回的时间;

 

关键字的register:

原本C语言的register主要是讲频繁使用的变量申请寄存器,减少对cpu的访问的时间和次数;

register关键字的修饰的变量注意点:

1.register无法修饰全局的变量

2.register修饰的变量无法取地址(&);

3.被修饰的变量需要时cpu能够接受的变量;

 

c++里面,进行优化以后是可以进行去地址的;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值