【C++ | 基础语法】
迪丽瓦拉
2024-06-02 08:24:42
0

C++基础语法

  • 1.函数的重载
  • 2.引用
    • 引用的用法
      • 1.引用做参数
      • 2.引用返回

1.函数的重载

在C++中,函数是支持重载的。什么是重载呢?

重载的意思就是函数名相同,但是参数的个数、类型不同。

例如:

void func() {cout << "func()" << endl;cout << endl;
}void func(int x) {cout << "func(int x)" << endl;cout << endl;
}void func(int x, int y) {cout << "func(int x, int y)" << endl;cout << endl;
}void func(double x) {cout << "func(double x)" << endl;cout << endl;
}
int main()
{func();func(1);func(1, 2);func(1.0);return 0;
}

运行结果:

img

函数的返回类型并不是构成重载的原因。

img

在代码生成的时候就已经报错了,倘若编译器不够严格,继续写下去。

img

就会出现二义性的情况,你元素的类型不知道接收哪个函数的返回值,造成了二义性。

2.引用

引用是C++的特性,用简短的一句话概括就是引用就是该变量的别名。

别名在生活中很常见,例如水浒传中的108好汉个个都有别名。

例如:及时雨 - 宋江,黑旋风 - 李逵,…

同样的在C++中也是如此

int main() {int a = 0;int& b = a;return 0;
}

这里的b就是a的别名,他们之间的关系如图所示

img

一个变量可以有多个别名,就像生活中的一个人也可以有多个别名,例如狗剩,二蛋,…

同时别名也可以有别名。

int main() {int a = 0;int& b = a;int& c = a;int& d = b;return 0;
}

通过修改其中一个,也会对a造成改动。

int main() {int a = 0;int& b = a;int& c = a;int& d = b;b++;cout << a << endl;c++;cout << a << endl;d++;cout << a << endl;return 0;
}

运行结果:

img

注意:

  1. 引用在定义时必须初始化
  2. 一个变量可以有多个引用
  3. 引用一旦引用一个实体,再不能引用其他实体

引用的用法

1.引用做参数

引用做参数,一半都是用作输出型参数。

例如简单的交换函数:

void Swap(int& a, int& b) {int tmp = a;a = b;b = tmp;
}

修改了形参,实参也修改了。

2.引用返回

在有些情况,你会遇到要返回两个值的情况,在C语言中可以用指针解决,而在C++中可以用引用解决。

用引用返回可以减少拷贝,提高效率。

相关内容