c++对c的主要扩展内容2

来源:互联网 发布:网络id是什么 编辑:程序博客网 时间:2024/06/11 13:37

1.引用:变量的另一个名字,可以直接操作某变量的内存空间,可替代指针,增强程序可读性,

引用的实现原理:Type& name==》Type* const name

这就代表了引用不能指向其他内存空间了,

常见面试题:指针和引用区别:指针可以继续指向其他内存空间,而引用不可以,初始化就定死了;

2.常引用:const Typr& name  这就表示内存空间不能被修改了,等价于c指针的const Type* const  name

3.内联函数(inline):必须inline int func(int a)和函数体的实现写一起,内联函数没有普通函数调用时的额外开销(压栈,跳转,返回),c++编译器直接将编译后的函数体插入到调用的地方,另外inline编译器不一定允许这种请求,所以内联函数一般是

能存在任何形式的循环语句   

不能存在过多的条件判断语句

函数体不能过于庞大

不能对函数进行取址操作

函数内联声明必须在调用语句之前

4.默认参数:void func(int a=0);当函数调用时没有指定这个参数的值,编译器会自动用默认值代替

5.占位参数void func(int a,int);函数内部无法使用,前置++和后置++操作符重载使用了

6.函数重载:用一个函数名定义不同的函数,判断依据:参数类型,参数个数,参数顺序,注意返回值不是判断依据