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

C++局部变量与全局变量

在C++中,可以为函数的参数指定默认值。这样做的好处是在调用函数时,如果没有提供对应的参数,那么将会使用默认值。

下面是一个求2个或3个数中最大数的函数的示例,其中使用了默认参数:

#include <iostream>
using namespace std;int maxOfTwo(int a, int b) {return (a > b) ? a : b;
}int maxOfThree(int a, int b, int c = 0) {return maxOfTwo(maxOfTwo(a, b), c);
}int main() {cout << "Max of 2 and 3: " << maxOfThree(2, 3) << endl; // 输出3cout << "Max of 5, 7, and 1: " << maxOfThree(5, 7, 1) << endl; // 输出7return 0;
}

在上面的示例中,maxOfThree 函数有三个参数,其中第三个参数 c 使用了默认值 0。这意味着在调用 maxOfThree 函数时,可以只传入两个参数而不提供第三个参数,此时 c 将使用默认值 0。

在C++中,局部变量是在函数内部声明的变量,它们只能在其所在的代码块(通常是函数体)内部使用。全局变量则是在所有函数之外声明的变量,它们可以被整个程序访问。

下面是一个简单的示例来展示局部变量和全局变量的概念:

#include <iostream>
using namespace std;// 全局变量
int globalVar = 10;void myFunction() {// 局部变量int localVar = 5;cout << "局部变量 localVar 的值为: " << localVar << endl;cout << "全局变量 globalVar 的值为: " << globalVar << endl;
}int main() {myFunction();// 尝试输出局部变量 localVar,这将导致编译错误,因为它只在 myFunction 函数内可见// cout << "尝试输出局部变量 localVar 的值: " << localVar << endl;cout << "全局变量 globalVar 的值为: " << globalVar << endl;return 0;
}

在上面的示例中,globalVar 是一个全局变量,它可以在 myFunction 函数和 main 函数中访问。而 localVar 是一个局部变量,它只能在 myFunction 函数内部访问。如果在 main 函数中尝试输出 localVar 的值,将导致编译错误,因为 localVar 只在 myFunction 函数中可见。

以上述示例编译并运行后,将会输出以下内容:

局部变量 localVar 的值为: 5
全局变量 globalVar 的值为: 10
全局变量 globalVar 的值为: 10
http://www.lryc.cn/news/298160.html

相关文章:

  • 深入理解ES的倒排索引
  • HTML世界之第一重天
  • docker run报 docker: Error response from daemon: no command specified.
  • vue3 之 商城项目—详情页
  • Linux笔记之Docker进行镜像备份与迁移
  • C#,欧拉常数(Euler Constant)的算法与源代码
  • asio监听eventfd
  • 《统计学简易速速上手小册》第9章:统计学在现代科技中的应用(2024 最新版)
  • 问题排查利器 - 分布式 trace
  • C++进阶(十四)智能指针
  • GPT最新进展:推出视频功能!迭代即将来临!
  • 各款Excel、word在线预览工具对比分析以及onlyoffice预览Excel加载时间长的解决方案
  • 【课程作业_01】国科大2023模式识别与机器学习实践作业
  • LeetCode374. Guess Number Higher or Lower——二分查找
  • 继承
  • 北斗卫星在物联网时代的应用探索
  • SQL注入 - 利用报错函数 floor 带回回显
  • NLP_Bag-Of-Words(词袋模型)
  • C语言rand随机数知识解析和猜数字小游戏
  • django中的缓存功能
  • 三、搜索与图论
  • 【翻译】Processing安卓模式的安装使用及打包发布(内含中文版截图)
  • MATLAB图像处理——边缘检测及图像分割算法
  • 探索设计模式:原型模式深入解析
  • IAR报错解决:Fatal Error[Pe1696]: cannot open source file “zcl_ha.h“
  • Qt网络编程-ZMQ的使用
  • 如何清理Docker占用的磁盘空间?
  • 从零开始学HCIA之NAT基本工作原理
  • Day40- 动态规划part08
  • 论文笔记:相似感知的多模态假新闻检测