栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++笔记2:函数重载,缺省参数,哑元函数,内联函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++笔记2:函数重载,缺省参数,哑元函数,内联函数

函数重载 1:同一作用域内,函数名相同,参数表不同(返回值不是判定标准),根据实参类型匹配并调用相应版本
#include
using namespace std;
void sub(int x,int y)
{
    cout <<"x+y = "< 
2:同一作用域中同名函数重载,不同作用域中同名函数遵循标识符隐藏 
#include
using namespace std;
namespace n1
{
    void out(int x,int y)
    {
        cout<<"n1::out"< 
3:不完全匹配规则 

完全匹配>常量转换>升级转换>标准转换>自定义转换>省略匹配

#include
using namespace std;
void out(int x,int y)//完全匹配
{
    cout<<"1"< 
缺省参数 
1:为函数的参数指定缺省值,当调用该函数时未指定实参,则使用与该实参对应的形参取缺省值 
2:若函数中某个参数有缺省值,该参数后续参数都必须有缺省值 
3:不可因缺省参数导致重载匹配歧义 
4:函数参数的缺省值只可在函数声明中指定(声明定义在一起的也可以) 
#include
using namespace std;
void yayuan(int a,double b=6.12,float c=6.1);
void yayuan(int a,double b,float c)
{
    cout<<"a="< 
哑元参数 
· 只指定参数类型而不指定参数名称的函数(保证函数向下兼容,形成函数的重载版本) 
#include
using namespace std;
void out(int)
{
    cout<<"out(int)"< 
内联函数 
1:减少函数调用的开销 
· 普通函数调用语句发生跳转操作,带来时间消耗 
· 内联用函数已被编译好的二进制代码,替代对该函数的调用指令 
2:内联使可执行文件的体积和进程代码的内存变大,只有频繁调用的简单函数适合内联 
3:若函数在声明中直接定义,自动被优化为内联,否则可在声明处加上inline关键字 
4:inline仅表示希望该函数被优化为内联,是否适合内联完全由编译器决定 
5:不频繁被调用的复杂函数和递归函数不适合内联 
#include
using namespace std;
inline void out(int x);
void out(int x)
{
    cout<<"out"<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号