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

c++函数调用的大致工作过程

  在C++中,函数调用是一个基本的编程概念,它允许我们将一组语句封装成一个独立的模块,以便重复使用或提高代码的可读性和可维护性。函数调用的工作过程可以分为以下几个步骤:

1、函数声明(Prototype)
在调用函数之前,必须先声明函数。函数声明告诉编译器函数的名称、返回类型以及接受的参数类型。例如:

int add(int a, int b);

2、函数定义(Definition)
函数定义包含了具体的实现代码,即在调用该函数时应该执行的语句。例如:

int add(int a, int b) {return a + b;
}

3、函数调用
在程序的适当位置调用函数。例如:

int result = add(3, 4);

4、 执行过程
当函数被调用时,编译器和运行时环境执行以下步骤:
(1)参数传递‌
‌实参(Actual Arguments)‌:传递给函数的实际值,通过进栈的方式。
‌形参(Formal Parameters)‌:在函数定义中声明的变量,用于接收实参的值。
实参的值被复制(或移动,对于C++11及以后的标准)到形参中。对于对象(类类型),这通常是通过拷贝构造函数或移动构造函数完成的。
(2) ‌栈帧(Stack Frame)的创建‌
在内存中为函数创建一个新的栈帧(Stack Frame)。栈帧包含了函数的局部变量(如果函数内有局部变量,它们也会在这个栈帧中被分配空间)、参数等。
(3) ‌执行函数体‌
执行函数体内的代码。这可能包括计算、条件判断、循环等操作。如果函数内有返回值,计算该返回值。
(4)清理栈帧‌
函数执行完毕后,局部变量所占用的内存被释放,栈帧被销毁。
(5) ‌返回控制‌
控制返回到函数被调用的地方,继续执行后续代码。
示例代码:

#include <iostream>
using namespace std;// 函数声明和定义在一起也可以,但不是必须的,分开写更清晰。
int add(int a, int b) {return a + b;
}int main() {int result = add(3, 4); // 函数调用cout << "Result: " << result << endl; // 输出结果return 0;
}

这个例子展示了如何声明、定义和调用一个简单的C++函数,以及函数的执行

http://www.jsqmd.com/news/32657/

相关文章:

  • Slack端到端测试管道优化:构建时间减半的技术实践
  • 结构体与联合体的区别
  • Day14综合案例二--
  • 解决colcon编译卡死
  • 新学期每日总结(第20天)
  • 铁杆粉丝占比20251105
  • Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么? - Higurashi
  • 100小时学会SAP—问题10:ME51N提示物料XX的强制账户设置(输入账户设置类别)
  • P8990 [北大集训 2021] 小明的树 题解
  • 100小时学会SAP—问题11:MIGO收货时报错不可能为条目BSX CN01确立账户
  • 【动态维护前 x 大元素】LeetCode 3321. 计算子数组的 x-sum II
  • 100小时学会SAP—问题8:财务凭证行项目BSEG及对应的六张表
  • 100小时学会SAP—问题9:MD03提示日期在有效工厂日历之后(请改正)
  • 100小时学会SAP—问题6:创建采购收货时出现WE在年2025中编号不存在
  • 100小时学会SAP—问题7:FB70提示过账码没有定义
  • 树剖
  • 100小时学会SAP—问题5:SAP导航菜单字体突然变小
  • 如何降低大模型幻觉
  • 11月5日---学习总结
  • 11-2
  • 100小时学会SAP—问题4:ME21N创建采购订单报错
  • 11-1
  • 多智能体架构中 如何解决总控agent路由错误的问题
  • 回归(监督学习)
  • 100小时学会SAP—问题3:成本控制控制凭证的编号范围
  • 10-20
  • 10-25
  • 10-24
  • 10-23
  • 10-17