Function Arguments and Function Parameters (函数的实参和函数的形参)

Function Arguments and Function Parameters {函数的实参和函数的形参}

  • 1. Object-Oriented Programming Using C++
  • 2. Function Arguments and Function Parameters
  • References

1. Object-Oriented Programming Using C++

https://icarus.cs.weber.edu/~dab/cs1410/textbook/index.html
https://icarus.cs.weber.edu/~dab/cs1410/textbook/chapters.html

2. Function Arguments and Function Parameters

6.3. Function Arguments and Parameters
https://icarus.cs.weber.edu/~dab/cs1410/textbook/6.Functions/args.html

actual parameter = argument:实际参数,实参
formal parameter = parameter:形式参数,形参

While defining method, variables passed in the method are called parameters.
当定义方法时。
While using those methods, values passed to those variables are called arguments.
当调用方法时。

People, even experienced programmers, often use the terms argument and parameter interchangeably and rely on context to clarify the exact meaning (if an exact meaning is even needed). This practice generally doesn’t cause any misunderstanding because whichever term they use describes the basic idea of passing data from a function call into a function for processing.
甚至是经验丰富的程序员经常交替使用术语 argument and parameter,并依靠上下文来阐明确切含义 (如果需要确切含义的话)。这种做法通常不会引起任何误解,因为无论他们使用哪个术语,都描述了将数据从函数调用传递到函数进行处理的基本思想。

Arguments are the values passed from a function call (i.e., they are the values appearing inside the call’s parentheses) and sent to to a function. Parameters are local variables defined in the function (inside the parentheses in the function header) and used to hold the data passed into it.
Arguments 是从函数调用传递的值 (它们是出现在调用括号内的值) 并发送到函数。Parameters 是在函数中定义的局部变量 (在函数头的括号内),用于保存传递给它的数据。

The following example, based on pass-by-value, is the default passing technique and, therefore, the most familiar. However, C++ also supports two additional passing mechanisms: pass-by-pointer and pass-by-reference. The following sections explore and compare the details of the three passing techniques.

在这里插入图片描述
Figure 1. Argument vs. parameter.

The concepts of arguments and parameters are tightly linked. Like the sides of a coin, every argument has a corresponding parameter.
实参和形参的概念紧密相关。就像硬币的两面一样,每个实参都有对应的形参。

Sometimes, programmers use "formal" to denote the function side and “actual” to denote the call side: The program passes the actual parameters into the formal parameters. Except for pass-by-reference, passing data from an argument in the call to a parameter in the function behaves exactly like an assignment operation.
程序将实际参数传递给形式参数。除了按引用传递外,将数据从调用中的实参传递给函数中的形参的行为与赋值操作完全相同。

  • Argument Names and Parameter Names

When a function’s arguments are variables, the argument names (in the function call) and the parameter names (in the function definition) may be the same, or they may be different.

在这里插入图片描述

When a program passes data into a function, it matches the arguments (in the call) to the parameters (in the function) based on position.
parameter 指的是函数定义中参数,而 argument 指的是函数调用时的实际参数。

So, each argument must correspond to exactly one parameter based on position. The program determines position by counting the comma-separated elements from left to right. All three argument-passing techniques share this positional matching.
每个实参必须根据位置与一个形参完全对应。程序通过从左到右计数逗号分隔的元素来确定位置。所有三种参数传递技术都共享此位置匹配。

在这里插入图片描述
Figure 2. Passing arguments to parameters.

Programs match function arguments with corresponding parameters based on their position within each list. Matching occurs in English reading order, from left to right, and there must be one argument for each parameter. The arguments must be the same data type as the parameters or be a type that the compiler can automatically promote to the parameter type.

References

[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[SWPUCTF 2021 新生赛]gif好像有点大

[SWPUCTF 2021 新生赛]gif好像有点大 帧解一下 找到这个二维码用软件CQR解开一下 得到flag NSSCTF{The_G1F_ls_T00_b1g} [BJDCTF 2020]base?? 给了我们base64加密的密文 用python直接解密 import base64 dict{0: J, 1: K, 2: L, 3: M, 4: N, 5: O, 6: x, 7: y, 8: U, 9: …

嵌入式蓝桥杯学习1 点亮LED

cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS,找到Debug(设置为Serial Wire) 3.在System-Core中点击RCC,找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration &#xff0…

机器学习周志华学习笔记-第13章<半监督学习>

机器学习周志华学习笔记-第13章<半监督学习> 卷王,请看目录 13半监督学习13.1 生成式方法13.2 半监督SVM13.3 基于分歧的方法13.4 半监督聚类 13半监督学习 前面我们一直围绕的都是监督学习与无监督学习,监督学习指的是训练样本包…

安装MySQL 5.7 亲测有效

前言:本文是笔者在安装MySQL5.7时根据另一位博主大大的安装教程基础上做了一些修改而成 首先在这里表示对博主大大的感谢 下面附博主大大地址 下面的步骤言简意赅 跟着做就不会出错 希望各位读者耐下心来 慢慢解决安装中出现的问题~MySQL 5.7 安装教程(全…

Navicat连接SQL Server及SpringBoot连接SQL Server(jtds)

Navicat连接SQL Server 安装自带的SQL Server客户端 去到Navicat安装目录,找到安装程序,安装即可。 安装对应版本的Microsoft ODBC Driver for SQL Server 打开Navicat输入对应的SQL Server相关信息 然后点测试连接,提示连接成功。 Spr…

vue+uniapp+echarts的使用(H5环境下echarts)

1.安装 npm install echarts4.9.0 --save // 带版本号 2.main.js中全局引用 // import echarts from echarts // 如果是5.0以上版本用这个 import * as echarts from echarts Vue.prototype.$echartsecharts 3.使用 <template><view id"box" style"w…

单片机的中断系统

作者简介 彭煜轩&#xff0c;男&#xff0c;银川科技学院计算机与人工智能学院&#xff0c;2022级计算机与科学技术8班本科生&#xff0c;单片机原理及应用课程第3组。 指导老师&#xff1a;王兴泽 电子邮件&#xff1a;1696409709qq.com 前言 本篇文章是参考《单片机原理…

C 语言 “神秘魔杖”—— 指针初相识,解锁编程魔法大门(一)

文章目录 一、概念1、取地址操作符&#xff08;&&#xff09;2、解引用操作符&#xff08;*&#xff09;3、指针变量1、 声明和初始化2、 用途 二、内存和地址三、指针变量类型的意义1、 指针变量类型的基本含义2、 举例说明不同类型指针变量的意义 四、const修饰指针1、co…

Scratch游戏推荐 | 我的世界:平台冒险——像素世界的全新挑战! ⛏️

&#x1f3ae; Scratch游戏推荐 | 我的世界&#xff1a;平台冒险——像素世界的全新挑战&#xff01; ⛏️&#x1f30d; 今天给大家推荐一款精彩绝伦的Scratch平台冒险游戏——《我的世界&#xff1a;平台冒险 – 第二章》&#xff01;由atomicmagicnumber制作&#xff0c;这…

Python 入门教程(2)搭建环境 | 2.4、VSCode配置Node.js运行环境

文章目录 一、VSCode配置Node.js运行环境1、软件安装2、安装Node.js插件3、配置VSCode4、创建并运行Node.js文件5、调试Node.js代码 一、VSCode配置Node.js运行环境 1、软件安装 安装下面的软件&#xff1a; 安装Node.js&#xff1a;Node.js官网 下载Node.js安装包。建议选择L…

【0x0019】HCI_Remote_Name_Request详解

目录 一、概述 二、命令格式参数说明 2.1. BD_ADDR 2.2. Page_Scan_Repetition_Mode 2.3. Reserved 2.4. Clock_Offset 三、响应事件及参数说明 3.1. HCI_Command_Status事件 3.2. &#xff08;可选&#xff09;HCI_Remote_Host_Supported_Features_Notification事件…

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络&#xff08;VPN&#xff09;详细介绍 虚拟专用网络&#xff08;VPN&#xff09;通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密&#xff1a; 隧道协议&#xff1a;使用协议如PPTP、L2TP/IP…

HTML5技术贴:现代网页开发的革命

引言 HTML5作为最新的HTML标准&#xff0c;为网页开发带来了革命性的变化。它不仅提高了网页的性能和可访问性&#xff0c;还提供了更多能有效增强网络应用的API。本文将深入探讨HTML5的八大新特性&#xff0c;帮助读者更好地理解和应用这些新特性。 HTML5的八大新特性 1. 语…

紫光展锐联合上汽海外发布量产车型,赋能汽车智能化

当前&#xff0c;智能汽车产业迎来重大变局&#xff0c;随着人工智能、5G、大数据等新一代信息技术的迅猛发展&#xff0c;智能网联汽车正呈现强劲发展势头。 11月26日&#xff0c;在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上&#xff0c;紫光展锐与上汽海外出行联合发…

Kafka如何保证消息可靠?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka如何保证消息可靠&#xff1f;】面试题。希望对大家有帮助&#xff1b; Kafka如何保证消息可靠&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka通过多种机制来确保消息的可靠性&#xff0c;主要包…

comfyui更新后,新版Crystools菜单栏的CPU、GPU信息不显示的解决办法

设置->菜单->使用新版菜单先禁用&#xff0c;然后保存旧版菜单位置&#xff0c;然后再把新版菜单打开&#xff0c;改为上&#xff0c;再取消保存旧版菜单位置&#xff0c;就出来了 1. **插件名称与功能**&#xff1a; - 插件名称&#xff1a;ComfyUI-Crystools - 功能描述…

椭圆参数方程

如上图所示&#xff0c;分别作椭圆的外摆线和内摆线容易得到两个圆方程分别为 x y a&#xff0c;x y b&#xff0c;下面求出 x 和 y 的表达式。设∠AOD θ&#xff0c;而∠POD 称为旋转角&#xff0c;而这里的 θ 称为离心角&#xff0c;而 OA a&#xff0c;OB b&#x…

tcpdump抓包wireshark分析

背景 分析特定协议的数据包&#xff0c;如 HTTP、DNS、TCP、UDP 等&#xff0c;诊断网络问题&#xff0c;例如连接故障、延迟和数据包丢失。 大概过程 1.安装tcpdump yum update yum install tcpdump2.抓包&#xff0c;从当前时间起&#xff0c;一小时后停止&#xff0c…

【MyBatis源码】详解datasource包,DataSourceFactory,数据库连接池

&#x1f3ae; 作者主页&#xff1a;点击 &#x1f381; 完整专栏和代码&#xff1a;点击 &#x1f3e1; 博客主页&#xff1a;点击 文章目录 java.sql包和javax.sql包java.sql 包核心接口javax.sql 包核心接口 数据源工厂接口DataSourceFactory自定义HikariCPDataSourceFactor…

基于组件软件可信度量

基于组件软件可信度量 课程&#xff1a;软件质量分析 作业 可编写下面的java程序&#xff1a; package org.example;import java.util.Arrays;public class ComponentBasedMeasurementModel {public static void main(String[] args) {double[][] keyComponentJudgmentMatrix …