C++ 零碎知识点集合
比较简单的我就直接写在这篇里了,比较复杂的会单独写一篇博客。
C/C++ 新旧风格
- C 旧风格
以 .h 结尾,如 math.h ,由于 C++ 兼容 C ,所以 C/C++ 均可使用。 - C++ 旧风格
以 .h 结尾,如 iostream.h ,此时无 名字空间 等特性。 - C 新风格
前缀加上 c ,无 .h 的扩展名,如 math.h 改为了 cmath ,增加了新特性,可以使用不是 C 的特性,如 namespace std 。 - C++ 新风格
如 iostream ,增加了使用 名字空间(namespace std) 的特性。
命名空间
namespace 即“命名空间”,也称“名称空间” 、”名字空间”。C++ 使用命名空间的原因主要是,人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,为了解决变量重名,于是引入命名空间来区分,将变量限制在不同的域内。
详细介绍:
https://blog.csdn.net/qq_40873884/article/details/79576045
缺省参数(默认参数)
C++ 引入函数缺省参数,即默认参数,极大地提高了使用函数的灵活性,
我们来举一个简单的例子:
#include <iostream>
using namespace std;
int test(int x = 3, int y = 5) {
return x + y;
}
int main(int argc, const char * argv[]) {
int a = 1, b = 2;
cout << "传两个参数:" << test(a, b) << endl;
cout << "传一个参数:" << test(a) << endl;
cout << "不传参数:" << test() << endl;
return 0;
}
输出结果:
传两个参数:3
传一个参数:6
不传参数:8
很容易看出,当我们传两个参数时,形参 x 变成了 a 的值(1),形参 y 变成了 b 的值(2),所以输出结果为 3 ;当我们传一个参数时,形参 x 变成了 a 的值(1),形参 y 是我们指定了的 5 ,所以输出结果为 6 ;当我们不传参数时,形参 x 使我们指定的值 3 ,形参 y 是我们指定了的 5 ,所以输出结果为 8 。
这就是所谓的缺省参数,就是在声明函数的某个参数时,给他指定一个默认值,当你传参数了,这个参数会是你传的值;当你未传参,这个参数就是指定的值。
缺省参数分为两类:
- 全缺省参数
- 半缺省参数
全缺省参数就是我们上面所举的例子:
int test(int x = 3, int y = 5);
也就是说,我们给所有的参数都指定了值,而使用者可以选择 传所有参数、或部分参数、或完全不传参。
注意:若您选择传部分参数,您只能从最后一个参数开始进行省略;也就是说,您要省略一个参数,那么必须省略它后面所有的参数。正如上面的例子,您若要选择省略传参 a ,那么 b 也无法传入,否则,您单传一个参数,那么这个参数必定是 a 的形参。
说完全缺省参数,那么半缺省参数呢?
int test(int x, int y, int z = 1);
像上面这种写法,便是半缺省参数,即我们只指定了部分参数的值。但是这种指定方式也是有讲究的,指定的必须是右边的参数。其实想想也很简单了,我们省略参数是从右边开始省略,那么必定是右边的先开始指定。
在使用的时候,我们也可以采取将默认参数写在声明中,而函数定义与没有默认参数时一样,如下:
当我们要经常使用某个值,而其他值只是偶尔使用,这样,我们将经常使用的值作为缺省的参数,将会有很大帮助。
但这并非是编程上的重大突破,只是会带来很多便利。通过使用缺省参数,可以减少要定义的析构函数、方法以及方法重载的数量。
函数重载
缺省参数让我们在参数数目不同时可以调用同一个函数,而函数重载让我们能够使用多个同名函数。详细链接:
https://blog.csdn.net/qq_40873884/article/details/79827796
引用变量
引用是 C++ 对 C 语言的重要扩充,详解链接:
https://blog.csdn.net/qq_40873884/article/details/79632314
持续更新...
哈哈哈哈哈哈