C++标准库头文件(工具库->cstdarg)

2023-11-19

参考网址:
https://zh.cppreference.com/w/cpp/header
https://www.runoob.com/cplusplus/cpp-standard-library.html

工具库
cstdarg

类型
std::va_list
用于保有宏 va_start 、 va_arg 及 va_end 所需信息的完整对象类型。在C语言中用于解决变参问题,获取不确定个数的参数。


void va_start( std::va_list ap, parm_n );
获取可变参数列表的第一个参数的地址,va_list是类型为va_list的指针,parm_n是可变参数最左边的参数。
T va_arg( std::va_list ap, T );
va_arg 宏展开成对应来自 std::va_list ap 的下个参数的 T 类型表达式。在调用 va_arg 前, ap 必须为到 va_start 或 va_copy 的调用所初始化,中间不能夹带 va_end 的调用。 va_arg 宏的每次调用都修改 ap ,令它指向下个可变参数。ap - std::va_list 类型的实例,T - ap 中下个参数的类型。
void va_copy( std::va_list dest, std::va_list src );
va_copy 宏复制 src 到 dest 。dest- 要初始化的 std::va_list 类型实例,src- 将用于初始化 dest 的源 std::va_list。
void va_end( va_list ap );
va_end 宏进行对为 va_start 或 va_copy 所初始化的 ap 对象的清理。

例程:

#include <iostream>
#
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++标准库头文件(工具库->cstdarg) 的相关文章

  • OpenGL ES 三种类型修饰 uniform attribute varying

    1 uniform变量 uniform变量是外部application程序传递给 vertex和fragment shader的变量 因此它是application通过 函数glUniform 函数赋值的 在 vertex和fragment
  • java的前期绑定和后期绑定

    原文地址 http blog sina com cn s blog 600046120100wdza html 程序绑定的概念 绑定指的是一个方法的调用与方法所在的类 方法主体 关联起来 对java来说 绑定分为静态绑定和动态绑定 或者叫做
  • Java语言 设计一个动物声音“模拟器”(用接口实现)

    设计一个动物声音 模拟器 希望模拟器可以模拟许多动物的叫声 要求如下 编写接口Animal Animal接口有两个抽象方法cry 和getAnimalName 即要求实现该接口的各种具体的动物类给出自己的叫声和种类名称 编写模拟器类Simu
  • C++的++

    include stdafx h int main int x y m n x 0 x x printf x 0 x x的值是 d n x x 0 y 0 y x printf x 0 y 0 y x的值是 d n y x 0 x x pr
  • String类

    String类 String 类的特点 字符串一旦初始化就不会被改变 1 获取 1 1 获取字符串中字符的个数 长度 int length 1 2 根据位置获取字符 char charAt int index 1 3 根据字符 串 获取在字
  • typedef的用法小总结

    首先是typedef历史遗留问题 经常看到很多人写结构体就写 typedef struct A int a int b A A b 我就一直很纳闷 为什么不直接写 A b呢 昨天查资料才知道 原来这个是因为c语言遗留下来的 在C语言中 结构
  • linux下C语言中的flock函数用法 .

    表头文件 include
  • C语言深入学习--checklist7:链接、运行时数据结构、申明

    1 你知道段的概念吗 段是二进制文件中的简单区域 里面保存了某种特定的类型 如符号表条目 相关的所有信息 1 可执行程序分为几个段 每个段保存什么内容 可执行程序分为三个段 BSS段 数据段 文本段 BSS段 Block Started b
  • cmakelists实操记录

    cmake 工具要领 主要工具逻辑 查看帮助 cmake help command cmake set 定义变量后 可以跟多个表达式 来说明变量有多个数据段 set QC INCLUDE QC INCLUDE QC SYSROOT usr
  • python: 理解__str__

    以下是我的理解 如果有错我的地方 请务必告诉我 不胜感激 在python语言里 str 一般是格式是这样的 class A def str self return this is in str 事实上 str 是被print函数调用的 一般
  • CGI之C语言篇

    为什么要进行CGI编程 在HTML中 当客户填写了表单 并按下了发送 submit 按钮后 表单的内容被发送到了服务器端 一般的 这时就需要有一个服务器端脚本来对表单的内容进行一些处理 或者是把它们保存起来 或者是按内容进行一些查询 或者是
  • 逻辑地址、物理地址和线性地址

    逻辑地址 logical address 包含在机器语言指令中用来指定一个操作数或一条指令的地址 这种寻址方式在80X86著名的分段结构中表现的尤为具体 它促使MS DOS或Windows程序员把程序分成若干段 每一个逻辑地址都由一个段 s
  • 推荐书目

    深入理解计算机系统 原书第2版 作 者 美 Randal E Bryant David R O Hallaron 著 出 版 社 机械工业出版社 图书定价 99 00 准备看看 C C 从入门到高手所有必备PDF书籍收藏 喜欢的朋友支持下吧
  • js利用google翻译接口把网页翻译成各国语言

    网页翻译为德语 Translate Page To German a href 网页翻译为德语 Translate Page To German a 网页翻译为西班牙语 Translate Page To Spanish a href a
  • 封装0603和0805的区别

    封装尺寸是长x宽 0603 0805 这些单位是英寸 0603代表0 6英寸x0 3英寸 1英寸 25 4毫米 区别 一 体积大小不同 0805和0603的公制尺寸分别是2 0 1 2mm 1 6 0 8mm 所以两者的体积大小不同 二 电
  • Bicubic Interpolation (双三次插值)

    在Wikipedia http en wikipedia org wiki Bicubic interpolation 上找到了bicubic的描述 不过它只给出了知道导数情况下的公式 后来在CSDN上找到了C语言的算法描述 http to
  • 学习方法小结:

    好的学习方法 好的算法 高效率学习 gt 努力学习 1 学习要有目标不能太盲目 2 笔记很重要 整理笔记更重要 3 博客 论坛的运用十分关键 从量变到质变的过程需要去坚持 4 不要忘记复习 不能太依赖老师和他人的帮助 5 多提问 善于发现问
  • setlocale()/_wsetlocale()函数的使用

    在C运行库提供的多字节字符 宽字符转换函数 mbstowcs wcstombs 中 需要用到全局变量locale locale encoding 以指定多字节字符的编码类型 1 功能 用来定义全局变量 locale locale encod
  • 程序员水平分级

    导读 近日 whattofix com刊登了一篇 DanielMarkham的文章 What Level Programmer Are You 文内将参差不齐的程序员按照技术水平分为从 只读 到 上帝 共十一个阶段 以帮助广大程序员找到自身
  • 【转】结构体中Char a[0]用法——柔性数组

    有如下定义 typedef struct char a char b 0 其中元素Char b 0 叫做柔性数组 主要用于使结构体包含可变长字段 详细内容如下 柔性数组 柔性数组结构成员 C99中 结构中的最后一个元素允许是未知大小的数组

随机推荐