C++类库可以使用这种方式的函数?

WNs_ACE 2014-01-10 05:42:53
在OpenNi的C++源代码中找到jni.h的一段代码,完全不明白其中的语法和逻辑,请教请教一下,各位大虾!
jobject NewObject(jclass clazz, jmethodID methodID, ...) {
va_list args;
jobject result;
va_start(args, methodID);
result = functions->NewObjectV(this,clazz,methodID,args);
va_end(args);
return result;
}
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
WNs_ACE 2014-01-11
  • 打赏
  • 举报
回复
还有这个va_start(args, methodID);和va_end(args);呢?
Eleven 2014-01-11
  • 打赏
  • 举报
回复
引用 4 楼 a232664 的回复:
还有这个va_start(args, methodID);和va_end(args);呢?
The va_arg, va_end, and va_start macros provide a portable way to access the arguments to a function when the function takes a variable number of arguments. 用来解析得到参数的相关信息。
worldy 2014-01-11
  • 打赏
  • 举报
回复
你的这个函数只是传递参数给functions->NewObjectV(this,clazz,methodID,args) 谁知道这个函数做了什么?
WNs_ACE 2014-01-11
  • 打赏
  • 举报
回复
这样讲好笼统,我希望是知道他到底工作是做了什么?能够举例说明,其实百度了一下,我也知道是可变参数,但是其工作了什么或者怎么工作都没有将的很明白
Eleven 2014-01-10
  • 打赏
  • 举报
回复
可变参数,就是参数的数目不确定。
worldy 2014-01-10
  • 打赏
  • 举报
回复
一个参数个数可变的函数 你非常熟悉的printf就是类同的函数,其参数个数由调用者指定
mrlgy 2014-01-10
  • 打赏
  • 举报
回复
就是一个变参的函数定义。

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧