当前位置: 首页 > news >正文

C++核心编程--3 函数提高

  • 函数的一些高级用法。

3.1 函数形参默认值

  • C++中,函数的形参可以有默认值,调用函数时,未进行赋值的形参会使用默认值
void func(int f_var1 = 10, int f_var2 = 20); // 声明
​
void func(int f_var1, int f_var2) // 定义
{std::cout << f_var1 << std::endl;std::cout << f_var2 << std::endl;
}
​
int main()
{func(); // 打印出f_var1 = 10, f_var2 = 20
}

【注意】函数某个参数有默认值,且其后面还存在参数,则后面的所有参数都必须有默认值

void func(int f_var1 = 10, int f_var2); // 不允许此种写法

3.2 函数占位参数

  • C++函数形参列表中可以有占位参数,调用函数时,需要填补该占位参数
void func(int a, int);
  • 占位参数也可以有默认参数
void func(int a, int = 10);

3.3 函数重载

  • 重载函数的条件:
  1. 同一个作用域下
  2. 函数名相同
  3. 函数参数不同-->类型不同/个数不同
int func()
{str::cout << "func()" << std::endl;
}
​
int func(int a)
{str::cout << "func(int a)" << std::endl;
}
​
int main()
{int var = 10;func();     // 打印"func()"func(var);  // 打印"func(int a)"system("pause");return;
}

【注意】

  1. 返回值不同不可以作为函数重载的条件
  2. 函数参数有默认值时,存在重载函数调用问题
int func(int a)
{str::cout << "func(int a)" << std::endl;
}
​
int func(int a, int b = 10)
{str::cout << "func(int a, int b = 10)" << std::endl;
}
​
int main()
{int var = 10;func(var);  // 报错,系统无法确认是调用哪个func()函数system("pause");return;
}

相关文章:

  • 小白学编程之——数据库如何性能优化
  • 【RAP】RAP动作与流行舞蹈/街舞
  • unity terrain 在生成草,树,石头等地形障碍的时候,无法触发碰撞导致人物穿过模型
  • 图深度学习、EMD和VMD详解
  • 【日撸 Java 三百行】Day 16(递归)
  • 数据结构之图的应用场景及其代码
  • 修复“ImportError: DLL load failed while importing lib: 找不到指定的程序”笔记
  • Cocos Creator 3.8.5 构建依赖环境配置文档
  • 分页管理调试
  • 讯联云库项目开发技术栈总结(一)
  • 如何实现k8s高可用
  • 通义千问-langchain使用构建(二)
  • 5.15本日总结
  • 非常详细的HTTP状态码介绍
  • 验证可行分享-Rancher部署文档
  • 【Linux】gcc从源码编译安装,修改源码,验证修改的源码
  • Linux文件操作系统接口介绍,以及文件描述符的本质
  • javascript —— ! 和 !! 的区别与作用
  • 技术文档不完善,如何促进知识传承
  • 动态规划问题 -- 多状态模型(买股票的最佳时机II)
  • 俄乌官员即将在土耳其会谈,外交部:支持俄乌开启直接对话
  • 新版城市规划体检评估解读:把城市安全韧性摆在更加突出位置
  • 阿联酋与美国达成超过2000亿美元协议
  • 病重老人被要求亲自取钱在农业银行门口去世?株洲警方介入
  • 观察|本轮印巴冲突或促使印度空军寻求更先进战机
  • 云南威信麟凤镇通报“有人穿‘警察’字样雨衣参与丧事”:已立案查处