当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>C++函数的可变参数详谈</b>[VC/C++编程]

赞助商链接



  本文“<b>C++函数的可变参数详谈</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

可变参数的英文表示为:variable argument.

它在函数的定义时,用三个点号'.'表示,用逗号与别的参数脱离.

可变参数的特点:不像固定参数那样一一对应,也不像固定参数有固定的参数范例和参数名称;可变参数中个数不

定但是传入的是一个参数也可以是多个;可变参数中的每个参数的范例可以差别,也可以相同;可变参数的每个参数并没有

实际的名称与之相对应.

由此可见,可变参数的情势非常安闲而富有弹生.因些,它给那些天才程序员有更大地想象和施展空间.

但是,更多地安闲,一样也加大操作上的难度.

以下就对可变参数的几个方面作一定的介绍.

1)可变参数的存储情势.

大家都知道,普通函数的形参属于部分变量.而部分变量就是存储在内存的栈区(所谓的栈区:由编译器自动分配释放,

存放函数的参数值,部分变量的值等.其操作方法近似于数据构造中的栈.).可变参数也是存储在内存栈区.

在对函数的形参存储的时侯,编译器是从函数的形参的右边到左边一一地压栈,

这样保证了栈顶是函数的形参的第一个参数(从左到右数).而80x86平台下的内存分配次序是从高地址内存到低地址内存.

因此,函数的形参在内存的存储情势以下图(以fun(int var1,int var2,...,int var3,int var4)为例):

栈区:

|栈顶       低地址

|第一个固定参数var1

|可变参数前的第一个固定参数var2

|可变参数的第一个参数

|...

|可变参数的最后一个参数

|函数的倒数第二个固定参数var3

|函数的最后一个固定参数var4

|...

|函数的返回地址

|...

|栈底  高地址


  以上是“<b>C++函数的可变参数详谈</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .