理解命名空间,函数重载、缺省参数、指针引用

1.命名空间

在c语言中,命名的名字不能和关键字冲突,不能和库函数里的名字冲突,所以在C++中,引入了命名空间。为了防止命名污染,

可以在函数,变量前加上命名空间,命名空间所有内容都局限与该命名空间。

使用方式:

                    1.当你用库函数的名字时,每次都在前加一个命名空间,例如:std::cout,std::cin。

                    2.在全局域声明,用using namespace   std ,表示所有与库函数相同的名字都不能使用,但这就使命名空间没有用了。

                    3.在全局域,单独声明一个名字,例如:using  std::cout;

2.函数重载

函数重载:使函数的一种特殊情况,C++允许在同一作用域声明几个功能类似的同名函数,这些同名函数的形参链表,常用来

处理实现功能类似数据类型不同的问题。

重点:函数重载必须保证参数列表必须不同。因为编译器底层不是用的函数名,而是经过复杂的修饰,得到一个名字。在C语言中是通过_函数名字来找函数的。

3.引用

引用:引用是已存在变量的别名,编译器不会为它开辟空间的,它和被引用的变量共用一块内存空间。

注意点:引用必须在定义时被初始化。

               一个变量可以有多个引用

              引用一个实体后再不能引用别的实体

             千万不要再返回栈空间上的引用变量,因为当函数生命周期结束时,它就是非法访问了。

传值和传引用

传值是一份参数的临时拷贝,生命周期随函数,而引用不会,也没有开辟空间,所以尽可能的用引用,

引用和指针

引用和指针的效率差不多,但是引用更方便理解,更安全。注意的是引用不能有空指针。本质:其实编译器也是用完成指针的方式去完成的引用的,也就是说他们的汇编代码是差不多的。

4.缺省参数

缺省参数是声明或定义函数是为函数的参数指定一个默认值。在调用该函数时,如果没有指定参数则采用该默认值,否则使用

指定的参数。

重点:半缺省参数必须从有往左依次来给出,不能间隔给。

           缺省参数不能在函数声明和定义中同时出现。

 

 

              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值