C++入门-day02
引言:在上一节中我们接触了C++中的命名空间,学会了C++中的标准输出流。这一节,我标题一们讲讲缺省、重载。
一、缺省参数
在C++中,给函数的形参默认给一个值就是缺省参数,你可能会比较懵逼,下面看一段代码。

正常我们在调用函数时候,我们需要带上参数,不然就是随机值,很不友好,这时候缺省参数就来了。
![]()
这就是有缺省参数的函数。
如果我们在调用这个函数的时候,什么都不传,它就会用给定的0,0作为a和b的值
- 全缺省
所有参数都给定初值,就像上面sum函数一样
- 半缺省
形参只有部分给初值,注意只能从右往左缺省。
![]()
这个是可以的
![]()
这样不行!
二、函数重载
学过java的,应该对这个非常熟悉,所谓函数重载,就是函数方法名相同,但参数不同(类型、个数、顺序(不同类型的顺序))。
如果仅仅返回值不同,不能构成重载。
这两个构成重载
你可能会问,问什么呢?它是怎样实现重载的呢?
首先我们要了解一个C\C++程序在编译链接过程中要经历什么。

我们知道在汇编过程中,会形成符号表,对应每个函数,也就是这个符号表,使得C只能不能接收重载,是因为它在编译过程中只会保留函数名和地址来确定一个函数。而如果遇到重名的时候,链接会报错。
你看,C中函数生成符号表时命名是 _+函数名,这注定了不能重载。
而C++中,符号表在函数名前会有一个前缀 _Z+函数字符个数+函数名+形参首元素字母
例如:上面的sum(int a,int b,int c) 表示为_z3sumiii
而sum(char a,char b) 表示为 _z3sumcc
相关文章:
C++入门-day02
引言:在上一节中我们接触了C中的命名空间,学会了C中的标准输出流。这一节,我标题一们讲讲缺省、重载。 一、缺省参数 在C中,给函数的形参默认给一个值就是缺省参数,你可能会比较懵逼,下面看一段代码。 正常…...
模板方法模式,基于继承实现的简单的设计模式(设计模式与开发实践 P11)
文章目录 实现举例应用钩子 Hook 模板方法模式是一种基于继承的设计模式,由两部分构成: 抽象父类(一般封装了子类的算法框架)具体的实现子类 实现 简单地通过继承就可以实现 举例 足球赛 和 篮球赛 都有 3 个步骤,…...
php实战案例记录(16)php://input输入流
php://input是PHP中的一个特殊的输入流,它允许访问请求的原始数据。它主要用于处理非表单的POST请求,例如当请求的内容类型为application/json或application/xml时。使用php://input可以获取到POST请求中的原始数据,无论数据是什么格式。使用…...
cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)
在现代企业中,设计图纸是公司的重要知识产权,关系到公司的核心竞争力。然而,随着技术的发展,员工获取和传播设计图纸的途径越来越多样化,如何有效地防止员工复制设计图纸成为了企业管理的一大挑战。本文将从技术、管理…...
Windows11 安全中心页面不可用问题(无法打开病毒和威胁防护)解决方案汇总(图文介绍版)
本文目录 Windows版本与报错信息问题详细图片: 解决方案:方案一、管理员权限(若你确定你的电脑只有你一个账户,则此教程无效,若你也不清楚,请阅读后再做打算)方案二、修改注册表(常用方案)方案三、进入开发…...
1329: 【C2】【排序】奖学金
题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,…...
解决dockerfile创建镜像时pip install报错的bug
项目场景: 使用docker-compose创建django容器 问题描述 > [5/5] RUN /bin/bash -c source ~/.bashrc && python3 -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple: 0.954 Looking in indexes: https://…...
算法题:分发饼干
这个题目是贪心算法的基础练习题,解决思路是排序双指针谈心法,先将两个数组分别排序,优先满足最小胃口的孩子。(本题完整题目附在了最后面) 代码如下: class Solution(object):def findContentChildren(se…...
WebSocket编程golang
WebSocket编程 WebSocket协议解读 websocket和http协议的关联: 都是应用层协议,都基于tcp传输协议。跟http有良好的兼容性,ws和http的默认端口都是80,wss和https的默认端口都是443。websocket在握手阶段采用http发送数据。 we…...
PHP之redis 和 memache面试题
目录 1、什么是Redis?它的主要特点是什么? 2、redis数据类型 3、Redis的持久化机制有哪些?它们之间有什么区别? 4、Redis的主从复制是什么?如何配置Redis的主从复制? 5、Redis的集群模式是什么…...
java socket实现代理Android App
实现逻辑就是转发请求和响应。 核心代码 // 启动代理服务器private void startProxyServer() {new Thread(new ProxyServer()).start();}// 代理服务器static class ProxyServer implements Runnable {Overridepublic void run() {try {// 监听指定的端口int port 8098; //一…...
Nacos与Eureka的区别
大家好我是苏麟今天说一说Nacos与Eureka的区别. Nacos Nacos的服务实例分为两种l类型: 临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。非临时实例:如果实例宕机,不会从服务列表剔除&…...
浅谈Rob Pike的五条编程规范
又是一篇需要我们多些思考的文章~ 简介下Rob Pike Rob Pike是Unix的先驱,UTF-8的设计人,Go语言核心设计者之一。 Rob Pike的5条编程规则 原文地址:http://users.ece.utexas.edu/~adnan/pike.html 中文翻译: 罗布派克&#x…...
LeetCode 377.组合总和IV 可解决一步爬m个台阶到n阶楼顶问题( 完全背包 + 排列数)
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#x…...
C中volatile总结
在CPU处理过程中,需要将内存中的数据载入到寄存器中才能计算,所以可能涉及到一个问题,如果内存中的数据被更改了,但是寄存器还是使用的旧数据,这样就会造成数据的不同步。 一、volatile关键字的作用 使用volatile关键…...
asp.net班级管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
一、源码特点 asp.net班级管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net班级管理系统 二、功能介绍 1…...
【Pytorch笔记】6.Transforms
pytorch官方文档 - transforms transforms需要使用计算机视觉工具包:torchvision。 torchvision.transforms:常用的图像预处理方法; torchvision.datasets:常用数据集的dataset实现,如MNIST、CIFAR-10、ImageNet等&am…...
nodejs+vue临沂特色产品销售平台elementui
从实际工作出发,对过去的临沂特色产品销售平台存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息 提高了工作的效率。 随着信息化社会的形成和微电子技术日新月异的发展,临沂特色产品销售平台是针对目前临沂特色产品销售…...
机器学习必修课 - 使用管道 Pipeline
目标:学习使用管道(pipeline)来提高机器学习代码的效率。 1. 运行环境:Google Colab import pandas as pd from sklearn.model_selection import train_test_split!git clone https://github.com/JeffereyWu/Housing-prices-dat…...
WEB各类常用测试工具
一、单元测试/测试运行器 1、Jest 知名的 Java 单元测试工具,由 Facebook 开源,开箱即用。它在最基础层面被设计用于快速、简单地编写地道的 Java 测试,能自动模拟 require() 返回的 CommonJS 模块,并提供了包括内置的测试环境 …...
掌握显卡性能调优:NVIDIA Profile Inspector 7个实用技巧
掌握显卡性能调优:NVIDIA Profile Inspector 7个实用技巧 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款强大的显卡配置工具,能够深度修改NVIDI…...
rCore-Tutorial-v3:从零开始用Rust编写RISC-V操作系统的终极指南
rCore-Tutorial-v3:从零开始用Rust编写RISC-V操作系统的终极指南 【免费下载链接】rCore-Tutorial-v3 Lets write an OS which can run on RISC-V in Rust from scratch! 项目地址: https://gitcode.com/gh_mirrors/rc/rCore-Tutorial-v3 你是否曾梦想过亲手…...
指标漂移、用户冷启动、LLM幻觉干扰——大模型A/B测试三大盲区全解析,SITS大会实证数据支撑
更多请点击: https://intelliparadigm.com 第一章:指标漂移、用户冷启动、LLM幻觉干扰——大模型A/B测试三大盲区全解析,SITS大会实证数据支撑 在2024年SITS(Scalable Intelligence Testing Summit)大会上,…...
Vivado HLS数据流优化技术与FPGA性能提升实践
1. Vivado HLS数据流优化核心原理 在FPGA设计领域,数据流优化是提升系统性能的关键技术。传统FPGA开发需要手动设计数据路径和状态机,而Vivado HLS的数据流优化允许我们在C/C抽象层级实现高性能设计。其核心思想是将算法分解为多个独立阶段,通…...
别再硬写QMenu的width和height了!Qt样式表实战:用盒模型思维搞定菜单尺寸
用CSS盒模型思维重构Qt菜单尺寸控制逻辑 在Qt开发中,QMenu的尺寸控制一直是让开发者头疼的问题。许多从Web前端转过来的开发者会习惯性地直接设置width和height属性,却发现这些设置在QMenu上完全不起作用。这背后其实涉及到Qt样式表(QSS)与CSS在渲染逻辑…...
别再只会用Bridge了!从KVM网络配置到Open vSwitch实战,聊聊虚拟交换机的那些‘坑’
从传统桥接到Open vSwitch:虚拟网络进阶实战指南 在虚拟化技术普及的今天,网络配置往往成为制约整体性能的关键瓶颈。许多运维工程师在初期使用KVM默认的桥接或NAT网络时,能够满足基本需求,但随着业务规模扩大,传统方案…...
Zilliz-Skill:为向量数据库构建可插拔AI技能库的实战指南
1. 项目概述:一个为向量数据库赋能的技能库最近在折腾RAG(检索增强生成)应用,发现向量数据库虽然解决了海量非结构化数据的存储和检索问题,但要让一个应用真正“智能”起来,光有向量搜索是远远不够的。比如…...
0301国产光刻机突围全景:双工件台+纳米级精密运动控制 1. 双工件台工作逻辑
国产光刻机突围全景:双工件台纳米级精密运动控制 第三卷 双工件台纳米级精密运动控制(A级 中期集中攻坚) 1. 双工件台工作逻辑(喂饭级实操版带量化参数企业单字脱敏) 一、核心定义:先搞懂“双工件台”的本质…...
局域网文件传输终极指南:3步实现跨平台文件秒传
局域网文件传输终极指南:3步实现跨平台文件秒传 【免费下载链接】LAN-Share Cross platform LAN File transfer application built with Qt C framework 项目地址: https://gitcode.com/gh_mirrors/la/LAN-Share 还在为电脑间传文件而烦恼吗?U盘太…...
观察使用TokenPlan套餐后月度API成本的变化趋势
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察使用TokenPlan套餐后月度API成本的变化趋势 对于依赖大模型API进行开发的中小型团队而言,每月产生的API调用成本是…...

