c++ 156函数

inline内联函数

#include<iostream>
using namespace std;inline void printA()
{int a = 10;cout << "a:" << a << endl;}void main()
{//printA();//c++编译器会这样 把函数体机械地放到main函数里面{int a = 10;cout << "a:" << a << endl;}return;
}
//带参数的宏
#define MYFUNC(a,b) ((a)<(b)?(a):(b))inline int myfunc(int a, int b)
{return  a < b ? a : b;
}
int main13() {int a = 1;int b = 3;int c = myfunc(++a, b);// int c = MYFUNC(++a, b);  //宏替换 并展开((++a)<(b)?(++a):(b))printf("a=%d\n", a);printf("b=%d\n", b);printf("c=%d\n", c);system("pause");return 0;
}
//默认参数
void myPrint(int x=3)
//void myPrint(int m,int n,int x=3) 如果默认参数出现 后面不允许
{cout << x << endl;}
//函数占位参数 函数调用时必须写够参数
void function1(int a,int b,int )
{cout << "a:" << a <<"b:" << b << endl;
}
void main14()
{function1(1, 2, 3);myPrint(4);return;
}
//默认参数和占位参数在一起int func2(int a,int b,int =0)
{cout << "a:" << a << "b:" << b << endl;
}
void mian()
{//func2(1,2);func2(1,2,3);return;
}
#include <iostream>
using namespace std;
// 函数重载
// 名称 参数 返回值(不是判断标准)
void myPrint(int a)
{cout << "a: " << a << endl;
}void myPrint(const char* p)
{cout << "p: " << p << endl;
}void myPrint(int a, int b)
{cout << "a: " << a << endl;cout << "b: " << b << endl;
}// 主函数
int main()
{myPrint(1);myPrint("1111dfs");myPrint(1, 3);return 0;
}
//函数默认参数和重载在一起
void myfunction(int a, int b, int c = 0)
{cout << "a: " << a << "b: " << b << "c: " << c << endl;
}
void myfunction(int a, int b)
{cout << "a: " << a << "b: " << b << endl;}
void myfunction(int a)
{cout << "a: " << a  << endl;}
void main()
{//myfunction(1, 2);//出现二义性 不知道调用哪个return;}
#include <iostream>
using namespace std;
// 函数重载
// 名称 参数 返回值(不是判断标准)
void myPrint(int a)
{cout << "a: " << a << endl;
}void myPrint(const char* p)
{cout << "p: " << p << endl;
}void myPrint(int a, int b)
{cout << "a: " << a << endl;cout << "b: " << b << endl;
}// 主函数
int main16()
{myPrint(1);myPrint("1111dfs");myPrint(1, 3);return 0;
}
//函数默认参数和重载在一起
void myfunction(int a, int b, int c = 0)
{cout << "a: " << a << "b: " << b << "c: " << c << endl;
}
void myfunction(int a, int b)
{cout << "a: " << a << "b: " << b << endl;}
void myfunction(int a)
{cout << "a: " << a  << endl;}
void main17()
{//myfunction(1, 2);//出现二义性 不知道调用哪个return;}
//函数重载和函数指针在一起
//声明一个函数类型
//typedef void (myTypeFunc)(int a, int b); //myTypeFunc 用来定义函数指针
// myTypeFunc* myfuncp=NULL;//定义一个函数指针 这个指针指向函数入口地址//声明一个函数指针类型
typedef void (*myTypeFunc)(int a, int b); //声明了一个指针数据类型 myTypeFunc 用来定义函数指针// myTypeFunc cp = NULL; 通过函数指针类型 定义了一个指针//声明一个函数指针变量
//void (* myVarPfunc)(int a, int b);
void myfunc23(int a)
{printf("a:%d", a);
}
void myfunc23(char *p)
{printf("p:%s", p);
}
void myfunc23(int a,int b)
{printf("a:%d", a);printf("b:%d", b);
}
void main()
{//  myTypeFunc* myfuncp=NULL;//定义一个函数指针 这个指针指向函数入口地址myTypeFunc fp= myfunc23;//定义一个函数指针变量fp(1,3);
}

在这里插入图片描述
所传的类型不同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1522790.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何构建Java SpringBoot中药材管理系统,实现高效进存销,2025届必备技能!

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Windows安装docker,启动ollama运行open-webui使用AIGC大模型写周杰伦歌词

Windows安装docker&#xff0c;启动ollama运行open-webui使用AIGC大模型写周杰伦歌词 1、下载docker的Windows版本。 docker下载地址&#xff1a; https://docs.docker.com/desktop/install/windows-install/https://docs.docker.com/desktop/install/windows-install/ 2、设…

ui 自动化测试过程是什么?

UI自动化测试是指通过模拟用户操作来测试应用程序的用户界面的一种测试方法。它可以模拟用户在应用程序上的操作&#xff0c;比如点击按钮、输入文本等&#xff0c;然后检查应用程序的响应是否符合预期。UI自动化测试可以提高测试效率并减少人工测试的工作量&#xff0c;同时可…

电脑永久删除的文件还能找回来吗?别再担心,误删文件也能救回!

在日常使用电脑的过程中&#xff0c;我们有时会因为各种原因而永久删除一些文件。这些文件可能是重要的工作文档、珍贵的照片&#xff0c;或者是其他对我们来说有价值的资料。一旦这些文件被永久删除&#xff0c;我们往往会感到焦虑和担忧&#xff0c;不知道是否还能够找回这些…

Linux核心技能:主流监控Prometheus详解,附官方可复制中文文档教程

Prometheus既是一个时序数据库&#xff0c;又是一个监控系统&#xff0c;更是一套完备的监控生态解决方案。作为时序数据库&#xff0c;目前Prometheus已超越了老牌的时序数据库OpenTSDB、Graphite、RRDtool、KairosDB等&#xff0c;如图所示。 &#xff08;来源网络&#xff0…

CAN-FD是怎么提高通信速率的?

经典CAN协议规定的最高速率是1Mb/s,汽车中实际应用的最高速率是500Kb/s&#xff0c;这个速度对于绝大部分ECU之间的数据通信已经足够了&#xff0c;而且CAN的技术成熟、稳定、成本低&#xff0c;因此CAN通信在汽车行业中得到了长期的应用。 随着汽车智能化的发展&#xff0c;汽…

redis之缓存淘汰策略

1.查看redis的最大占用内存 使用redis-cli命令连接redis服务端&#xff0c;输入命令&#xff1a;config get maxmemory 输出的值为0&#xff0c;0代表redis的最大占用内存等同于服务器的最大内存。 2.设置redis的最大占用内存 编辑redis的配置文件&#xff0c;并重启redis服务…

C++笔记12•面向对象之继承•

继承 1.继承的概念及定义 &#xff08;1&#xff09;概念&#xff1a; 继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段&#xff0c;它允许程序员在 保 持原有类特性的基础上进行扩展 &#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称…

用Leangoo领歌敏捷工具进行迭代管理的实践分享Sprint Backlog

在敏捷开发中&#xff0c;迭代管理是确保项目持续推进、不断优化的重要环节。有效的迭代管理能够帮助团队快速响应变化&#xff0c;持续交付高质量产品。 Leangoo是一款免费的敏捷项目管理工具&#xff0c;为团队提供了直观、高效的看板管理方式来管理迭代过程。本文将探讨如何…

公园智能厕所引导大屏,清楚显示厕位有无人状态

在科技飞速发展的今天&#xff0c;公园的设施也在不断与时俱进。其中&#xff0c;公园智能厕所引导大屏的出现&#xff0c;为游客带来了全新的如厕体验。 走进公园的智能厕所区域&#xff0c;首先映入眼帘的便是那醒目的引导大屏。屏幕上清晰地显示着各个厕位的有无人状态&…

星闪NearLink短距无线连接技术

星闪NearLink短距无线连接技术&#xff0c;作为华为主导的新一代无线短距通信标准技术&#xff0c;自2020年起由中国工信部牵头制定标准&#xff0c;旨在为万物互联时代提供更高效、更稳定的连接方式。 类似技术介绍 AirDrop&#xff08;苹果&#xff09; AirDrop是苹果公司开发…

【STM32+HAL库】---- 通用定时器PWM输出实现呼吸灯

硬件开发板&#xff1a;STM32G0B1RET6 软件平台&#xff1a;cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 找到LED所对应的引脚PA5&#xff0c;选择TIM2_CH1模式 在TIM2中&#xff0c;时钟源选择内部时钟Internal Clock&#xff0c;通道1选择PWM…

NanoPC-T6安装redriod笔记

这里主要用于自己对安装过程的记录&#xff0c;中间可能记录比较粗糙。 重新编译内核 参考链接&#xff1a;【环境搭建】基于linux的NanoPC-T6_LTS系统固件编译环境搭建 基于docker构建编译环境 docker run -it \ --privilegedtrue --cap-addALL \ --name nanopc_t6_lts_en…

CRM系统为贷款中介行业插上科技的翅膀

CRM&#xff08;客户关系管理&#xff09;系统为贷款中介公司插上了科技的翅膀&#xff0c;极大提升了贷款中介企业的运营效率、客户管理能力和市场竞争力。鑫鹿贷款CRM系统基于互联网、大数据分析、人工智能、云计算等前沿技术&#xff0c;帮助贷款中介公司实现业务流程的自动…

对给定数组所对应的二叉树依次完成前序,中序,后序遍历,并输出遍历结果。

对给定数组所对应的二叉树依次完成前序&#xff0c;中序&#xff0c;后序遍历&#xff0c;并输出遍历结果。每行输入为一个二叉树&#xff0c;一维数组形式。其中-1表示Nil节点&#xff0c;例如&#xff1a;1,7,2,6,-1,4,8 构成的二叉树如下图所示&#xff1a; 结果以二维数组形…

pikachu文件包含漏洞靶场

File inclusion(local) 创建1.php 步骤一&#xff1a;选择一个球员提交 ../../../../1.php File Inclusion(remote)&#xff08;远程文件包含&#xff09; 步骤一&#xff1a;更改参数 php.ini ⾥有两个重要的参数 allow_url_fopen 、allow_url_include &#xff1b; 步骤二…

springboot集成guava布隆过滤器

1.创建springboot项目&#xff0c;引入maven依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>23.0</version></dependency>2.创建guava布隆过滤器 Component public class Gua…

浅析WebRTC技术在智慧园区视频管理场景中的应用

随着科技的飞速发展&#xff0c;智慧园区作为城市智慧化的重要组成部分&#xff0c;正逐步成为现代化管理的重要方向。智慧园区的建设不仅涉及硬件设施的智能化升级&#xff0c;还离不开高效的视频管理和实时通信技术。在这一背景下&#xff0c;WebRTC&#xff08;Web Real-Tim…

Ubuntu系统+宝塔面板部署Frp内网穿透服务

一、搭建目的 上次在局域网中搭建了自己的个人网盘之后&#xff0c;上传文件、照片都很方便&#xff0c;但是只能限制在内网中访问&#xff01;所以这次再搭建一个内网穿透服务器&#xff0c;这样不管在哪里都能访问到家里的云盘&#xff01; 二、内网穿透Frp是什么&#xff1…

猴子排序:一种理论上的排序算法

猴子排序&#xff1a;一种理论上的排序算法 在编程和算法的世界里&#xff0c;总有一些有趣的算法让人忍俊不禁&#xff0c;同时又让人深思。今天&#xff0c;我们来聊聊一种特别的排序算法——猴子排序&#xff08;Bogosort&#xff09;&#xff0c;也常被戏称为瞎子排序、波…