C中的变长参数
C++中的变长参数
新参与的项目中,为了使用共享内存和自定义内存池,我们自己定义了MemNew函数,且在函数内部对于非pod类型自动执行构造函数。在需要的地方调用自定义的MemNew函数。这样就带来一个问题,使用stl的类都有默认构造函数,以及复制构造函数等。但使用共享内存和内存池的类可能没有默认构造函数,而是定义了多个参数的构造函数,于是如何将参数传入MemNew函数便成了问题。
1.变长参数函数
首先回顾一下较多使用的变长参数函数,最经典的便是printf。
extern int printf(const char *format, ...);
以上是一个变长参数的函数声明。我们自己定义一个测试函数:
复制代码
#include stdarg.h
#include stdio.h
int testparams(int count, ...)
{
va_list args;
va_start(args, count);
for (int i = 0; i count; ++i)
{
int arg = va_arg(args, int);
printf(arg %d = %d, i, arg);
}
va_end(args);
return 0;
}
int main()
{
您可能关注的文档
最近下载
- 2025年3月29日全国事业单位联考A类《综合应用能力》真题及答案.pdf VIP
- ERP沙盘模拟EXCEL表-生产计划.xls VIP
- 中科大发明问题解决理论TRIZ法解读讲义.pdf VIP
- 桥梁防撞护栏施工方案-(1).doc VIP
- 预混燃气燃烧器20155135 RX 360 S PV 20197946 (1) - 02 2022说明书.pdf
- 2026年安徽机电职业技术学院单招职业适应性考试题库及答案详解一套.docx VIP
- 非煤露天矿山环境管理与环境监测计划(完整版).docx VIP
- 小核酸行业系列报告(一):小核酸成药之路——ListeningtotheSoundofSilenceTheRoadtoRNATherapeutics-.pptx VIP
- 安全巡查记录表.doc VIP
- 青少年脊柱侧弯筛查--ppt课件.pptx VIP
原创力文档

文档评论(0)