C++内联函数、引用变量及函数重载怎么使用(C++,开发技术)

时间:2024-04-29 12:59:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    C%2B%2B%E5%86%85%E8%81%94%E5%87%BD%E6%95%B0%E3%80%81%E5%BC%95%E7%94%A8%E5%8F%98%E9%87%8F%E5%8F%8A%E5%87%BD%E6%95%B0%E9%87%8D%E8%BD%BD%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8

int =2
double =3.14
char =hello!
the name:apple
the weight:100
the name:Alice
the weight:250

可以看出来print函数有多个重载,现代编译器会根据你传递的参数类型,而选择最匹配的函数。

关于函数重载的一些细节

类型引用和类型本身视为同一个特征标,例如double cube(double x);double cube(double &x);是不能共存的。

匹配函数时,会区分const和非const变量,例如 void display(char a);void display(const char a);是函数重载。

请记住是特征标,而不是函数类型使得可以对函数进行重载。例如 long gronk(int,float);double gronk(int,float);是不能共存的。

函数重载的shortcoming

函数重载在实现同函数名多种功能的同时,也应当付出代价。

标准类型转化、强制匹配能力下降。

double =2
double =3.14
char =hello!

可以看出来这里print(a)这里a是int类型,编译器会将其类型转化成double,然后调用对应函数。

但是,我们稍微改动一下代码

这段代码中print(12L);会报错,因为12L是long类型的常量,如果我们试着强制匹配会发现,12L既可以转化成int类型,也可以转化成double类型,从而编译器不知道到底调用哪个函数。

不要滥用函数重载

仅当函数基本执行相同的任务,但使用不同类型的数据时,才应当使用函数重载。

本文:C++内联函数、引用变量及函数重载怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Mybatis怎么使用连表查询下一篇:

19 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18