`
zhuxixi327
  • 浏览: 19817 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

arguments和param的区别

阅读更多
看ant的时候,发现里面用到var和arguments,不知道两个的区别,google之,然后就知道了。隐秘的知识,不经意的收获,惊喜,遂记之。
在     ANSI/ISO   C++   Professional   Programmer 's   Handbook   中:

Arguments   and   Parameters
The   words   arguments   and   parameters   are   often   used   interchangeably   in   the   literature,   although   the   Standard   makes   a   clear   distinction   between   the   two.   The   distinction   is   chiefly   important   when   discussing   functions   and   templates.

Argument
An   argument   is   one   of   the   following:   an   expression   in   the   comma-separated   list   that   is   bound   by   the   parentheses   in   a   function   call;   a   sequence   of   one   or   more   preprocessor   tokens   in   the   comma-separated   list   that   is   bound   by   the   parentheses   in   a   function-like   macro   invocation;   the   operand   of   a   throw-statement   or   an   expression,   type,   or   template-name   in   the   comma-separated   list   that   is   bound   by   the   angle   brackets   in   a   template   instantiation.   An   argument   is   also   called   an   actual   parameter.

Parameter
A   parameter   is   one   of   the   following:   an   object   or   reference   that   is   declared   in   a   function   declaration   or   definition   (or   in   the   catch   clause   of   an   exception   handler);   an   identifier   from   the   comma-separated   list   that   is   bound   by   the   parentheses   immediately   following   the   macro   name   in   a   definition   of   a   function-like   macro;   or   a   template-parameter.   A   parameter   is   also   called   a   formal   parameter.

The   following   example   demonstrates   the   difference   between   a   parameter   and   an   argument:

void   func(int   n,   char   *   pc);   //n   and   pc   are   parameters
template   <class   T>   class   A   {};   //T   is   a   a   parameter
int   main()
{
  char   c;
  char   *p   =   &c;
  func(5,   p);   //5   and   p   are   arguments
  A <long>   a;   // 'long '   is   an   argument
  A <char>   another_a;   // 'char '   is   an   argument
  return   0;
}
分享到:
评论

相关推荐

    PyPI 官网下载 | flake8-force-keyword-arguments-1.0.2.tar.gz

    本文将详细介绍在PyPI上下载的"flake8-force-keyword-arguments-1.0.2.tar.gz"这个资源,以及如何理解和使用其中的Python库。 "flake8-force-keyword-arguments"是一个Python代码质量检查工具,它是flake8的一个...

    js arguments对象应用介绍

    然而,从ES6开始,引入了剩余参数(rest parameters)语法,使用`...paramName`的形式,这提供了一种更直接的方式来获取除第一个参数外的所有参数,并且这个`paramName`数组是真正意义上的数组,而不是`arguments`...

    commandline_arguments

    例如,`myapp.exe -param1 value1 -param2 value2`,在这里,`-param1`和`-param2`是参数名,`value1`和`value2`是对应的值。 **手动解析命令行参数**: 手动解析是最基础的方法,适用于参数结构简单的场景。在C#中...

    JavaScript中的普通函数和箭头函数的区别和用法详解.docx

    箭头函数适合简洁的、不依赖`this`和`arguments`的函数,如回调函数。 在实际开发中,选择使用哪种类型的函数取决于具体需求。理解它们之间的差异对于写出高效且易于维护的JavaScript代码至关重要。在处理事件...

    酷派N900手机:实现自动拨号、电话、短信、日历、拍照、打印等功能(含源代码)适用于Mobile手机。

    Info.Arguments = "Calenda"; //设置外部程序工作目录为 C:\ Info.WorkingDirectory = "\\SystemData\\App\\"; Process.Start(Info); } catch { MessageBox.Show("调用日历功能失败!"); } }

    ICSharpCode.SharpZipLib.dll

    /// &lt;param name="filename"&gt; 压缩后的文件名(包含物理路径)&lt;/param&gt; /// &lt;param name="directory"&gt;待压缩的文件夹(包含物理路径)&lt;/param&gt; public static void PackFiles(string filename, string directory) ...

    javascript整理资料

    以下是对标题“javascript整理资料”和描述中提及的JavaScript知识点的详细说明: 1. **数据类型**: - JavaScript支持多种数据类型,包括基本类型(String, Number, Boolean, Null, Undefined, Symbol, BigInt)...

    C#如何连接服务器共享文件夹

    myProcess.StartInfo.Arguments = "/c " + strCmd; myProcess.StartInfo.UseShellExecute = false; //关闭Shell的使用 myProcess.StartInfo.RedirectStandardInput = true; //重定向标准输入 myProcess....

    第6章 函数_PPT.ppt

    lambda arguments: expression ``` 例如,`lambda x, y: x + y`创建了一个接受两个参数x和y,返回它们之和的匿名函数。 函数是Python编程的核心组成部分,掌握函数的创建、参数传递、变量作用域和匿名函数的使用,...

    salmon_param

    "salmon_param"这个主题似乎与JavaScript中的参数处理有关,可能是某种特定的函数、方法或者库的命名。由于具体信息有限,我们将围绕JavaScript中的参数处理、函数调用和对象属性等方面展开讨论。 在JavaScript中,...

    JavaScript重载函数实例剖析_.docx

    通过检查`arguments`的长度(`arguments.length`),我们可以确定传递给函数的参数数量,并据此执行不同的逻辑,从而达到模拟重载的目的。 **示例代码:** ```javascript /** * 计算两个数字之和,并限制结果不...

    kettle变量参数设置

    位置参数(Arguments)也被称作位置参数(Positional Arguments)。在Kettle 3.2之前的版本中,只能通过位置参数来传递参数,这种方式限制了参数的数量(最多10个)并且通过在命令行参数的位置来区分不同的参数。 #...

    命令行解析源码c#

    例如,`MyApp.exe -param1 value1 -param2 value2`,其中`-param1`和`-param2`是参数标识符,`value1`和`value2`是对应的值。 2. **内置的命令行解析** C#标准库并没有提供专门的命令行解析类,但我们可以使用`...

    freeswitch之mod_callcenter介绍

    - 作用:每个队列可以有自己独立的一套策略和配置,用于区分不同类型的服务需求。 - **strategy** - 描述:队列中电话的分配策略。 - 示例配置:`&lt;param name="strategy" value="longest-idle-agent"/&gt;` - 作用...

    js调用as函数百分百能使用

    var callFunction = new Function('return ' + flash.CallFunction('&lt;invoke name="callFromJS" returntype="javascript"&gt;arguments[0], arguments[1]&lt;/invoke&gt;')); callFunction('参数1', '参数2'); } ``` 3. ...

    前端开发案例教程函数教学PPT学习教案.pptx

    function functionName(param1, param2) { // 函数体 } ``` 函数名应避免使用JavaScript保留字,并且不能以数字开头。参数是可选的,多个参数之间用逗号分隔。函数体是执行特定任务的代码块,可以包含一个或多个...

    WinSW.NET4.zip

    &lt;arguments&gt;-param1 value1 -param2&lt;/arguments&gt; ``` 3. **安装服务**:使用WinSW.NET4.exe执行文件安装服务,命令行格式如下: ``` WinSW.NET4.exe install MyServiceName -n "我的服务显示名" -d C:\path\...

    js代码-箭头函数和普通函数的区别

    本文将深入探讨箭头函数与普通函数之间的区别,帮助开发者更好地理解和运用这两种函数。 首先,让我们来看一下普通函数的定义方式。在JavaScript中,普通函数通常以`function`关键字开始,然后是函数名(可选),...

    通过程序调用另外一个带参数的exe文件

    string arguments = "-param1 value1 -param2 value2"; // 创建ProcessStartInfo对象,配置启动信息 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = exePath; // 设置可执行文件...

    通过WinSW将windows可执行程序注册为windows服务

    &lt;arguments&gt;-param1 value1 --param2=value2&lt;/arguments&gt; ``` 3. **安装服务**: 运行WinSW命令行,指定配置文件和服务名称: ```cmd WinSW-x64.exe install my-service-id -configPath C:\path\to\config....

Global site tag (gtag.js) - Google Analytics