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++里面,进行优化以后是可以进行去地址的;
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++里面,进行优化以后是可以进行去地址的;
相关文章推荐
- 宏函数和内联函数,关键字register在c和c++中的区别
- 指针和引用的区别
- new和maloc 的区别
- C++ primer学习之const限定符(1)
- C++基础——C++对C的升级
- [2017.02.04] C++学习记录(1)
- C++运算符重载基础
- C语言输入输出
- leetcode 56. Merge Intervals
- 细说new与malloc的10点区别
- C语言的结构体
- 全排列问题 递归算法
- C++学习路线
- C++学习一菱形继承多文件解决方法
- 排序算法之选择排序
- 单片机:C语言实验SPI通信-读写操作
- 手动编译window c++ 程序
- C++里面mutable的作用
- c++socket代码
- C++后台开发之我见