C++笔记:函数重载 引用 名称空间

引用

  1. 引用在定义时必须初始化
  2. 一个变量可以有多个引用
  3. 引用一旦引用一个实体,再不能引用其他实体
int a = 10;
int &ra = a;
cout << "a = " << a <<endl;  // a = 10
cout << "ra = " << ra << endl; //ra = 20

函数

●函数重载

函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同。

int Max(int a, int b)
{
	return a > b ? a : b;
}

char Max(char a, char b)
{
	return a > b ? a : b;
}

int main()
{
	cout << Max(10, 20) << endl;  // 20
	cout << Max('A', 'B') << endl;// 'B'
}

●内联函数

以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。

inline double square(double x){ return x * x; }

●默认参数

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

void TestFunc(int a = 0)
{
	cout << a << endl;
}
int main()
{
	TestFunc(); // 没有传参时,使用参数的默认值
	TestFunc(10); // 传参时,使用指定的实参
}

命名空间

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。一个命名空间中的名称不会与另外一个命名空间中的相同名称发生冲突同,如下面代码用关键字namespace定义了两个名称空间Jack和Jill:

namespace Jack{
	double pail;  //变量声明
	void fetch(); //函数原型
	struct {};    //结构体声明
}

namespace Jill{
	double pail;  //变量声明
	void fetch(); //函数原型
	struct {};    //结构体声明
}

using Jill::fetch; //把fetch加入到全局命名空间
int main()
{
	Jack::pail = 12.34; //使用变量
	Jill::fetch();  //使用函数
}

for

基于范围的for循环(C++11)用于打印数组的元素

int main()
{
	int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	for (auto &e : arr)
		cout << e << " ";
	cout << endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值