笔记记录——c++入门

一、命名空间

1.什么是命名空间

        命名空间是用来解决C语言中存在的命名冲突问题的。(关键字:namespace)即将全局作用域分成一个个命名空间,不同命名空间内同名的变量、函数或结构体等不会出现命名冲突。

注意:

        1.在命名空间中的的变量也属于全局变量,命名空间不改变变量的生命周期。

        2.在没有指定(或展开)命名空间时,编译器查找时会先局部后全局(不会去命名空间中找),但是有指定命名空间时,会直接去命名空间中查找。

2.命名空间的使用

1)作用域限制符:      

  对命名空间内的成员进行访问和使用需要用到符号  : :  : : 称为作用域限制符,

int main()
{
    printf("%d\n",num::a);
    return 0;
}

如上,打印名为num空间中的a变量。

2)全部展开:

        当需要频繁的使用某个命名空间的时候,可以使用 using namespace 将其全部展开,以便后续直接使用

例:using namespace std ;

3)指定展开:

        使用using + 命名空间名称 + 作用域限定符 + 某个成员

例:using num :: a;

二、缺省参数

1.定义

        缺省参数是指在函数声明或函数定义时为形参指定一个默认值,当调用函数时没有传入对应实参则将默认值做为实参传给形参。使函数参数更灵活。

注:

        函数声明定义分离的时候不能同时定义缺省参数,建议写在声明处。

例:

void Func(int a = 0)
{
    cout << a << endl;
}

2.全缺省

        函数的所有参数都给上默认值

void Fun(int a = 10,int b = 20,int c = 30)
{
	cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "c = " << c << endl << endl;
}

3.半缺省

        部分参数给默认值,但必须从右往左依次给,不能跳跃(也不能先给a b,不给c)

        缺省参数传参时,默认按从左到右的顺序依次给,不能跳跃。

void Fun(int a , int b = 20, int c = 30)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl << endl;
}

int main()
{
    Fun(1);  //a = 1, b = 20, c = 30
    Fun(2,3);//a = 2, b = 3, c = 30
    return 0;
}

三、函数重载

        c++允许同名函数,但要求参数不同,构成函数重载。

参数不同:
 1.类型不同;
 2.数量不同;
 3.顺序不同;
 cpp如何支持重载呢?-> 函数名修饰,名字中引入参数类型,由各个编译器自己实现
 例如Linux用-Z3Addii表示下面int 的Add函数,3表示函数名为三个字符,ii表示参数是两个int

//以下两个函数构成重载,参数类型不同
int Add(int a, int b)
{
	return a + b;
}
double Add(double a, double b)
{
	return a + b;
}

四、小结

        以上是c++入门的命名空间、缺省参数以及函数重载的简单说明,学习记录,供大家参考。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值