c++命名空间 引用 const 函数的重载

c++

命名空间

命名空间:程序员自己设定的作用域,里面的是全局实体,可以把全局实体分隔开
namespace 是定义命名空间所必须写的关键字
命名空间定义只是一个大括号没有分号
name space Aha
{
a=3;
}
使用方法

  1. using namespace Aha
  2. using Aha::a;
  3. Aha::a
    记住:如果命名空间里面嵌套了命名空间,要使用嵌套命名空间里面的内容必须作用到嵌套的命名空间里面,而不能直接通过外部的那个命名空间来调用。

引用

引用:简单的理解就是一个变量的别名,对引用操作就是对变量本身操作(&).
例如:int a; int & b=a;

  1. b为a的引用
  2. &在这里不是地址运算,标识符的作用
  3. 引用必须初始化
  4. 引用一旦初始化不可改变指向,指针可以改变指向
  5. 引用是不占存储单元的,系统也不分配
  6. 不能建立数组的引用,因为数组是由若干元素组成的集合

const

修饰成员变量的时候

int b=3;

  1. const int a =3 常量不可改变
  2. const int *a=&b 指向的值不可改变,但是指向可以改变
  3. int * const a=&b 指向的值可以改变,但是指向不能变
  4. const int * const a=&b 指向和值都不可以改变

const修饰函数参数

传递过来的参数在函数内不可以改变

const修饰成员函数

  1. const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)void MutNum (int x) const{};
  2. const成员函数内部不可调用非congst成员函数,因为调用会修改成员变量

const修饰函数返回值
返回值是什么类型,那么要获取返回值也必须赋予给相应的类型来获取值。
例如

const int * malloc_A(){  //指向的为常量,指针可以改变指向
    int *a=new int(2);
    return a;
}

int main()
{
    const int *a = malloc_A();
    ///int *b = mallocA();  ///编译错误,也要const int *b来接收数据
    return 0;
}

函数的重载

函数的重载:重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数。

  1. 参数不同
  2. 类型不同
  3. 顺序不同
    返回值不影响函数重载
    默认参数:在定义的时候直接赋值int Print_num(int a,int b=10),从右往左的
    占位参数:占位参数只有参数类型声明,而没有参数名声明,一般不影响函数体内部,int Print_num(int a,int b)。
    小心使用:
    int Print_num(int a,int b,int c=10);
    int Print_num(int a,int b);
    int Print_num(10,12);会报错,因为无法识别到底调用哪一个函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值