您的位置:首页 > 编程语言 > C语言/C++

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

2017-02-06 20:18 197 查看
关于new和malloc的区别:

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++里面,进行优化以后是可以进行去地址的;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: