gpt4 book ai didi

c++ - 我们可以在不调用 va_start 的情况下调用 va_end 吗?

转载 作者:太空狗 更新时间:2023-10-29 20:14:12 30 4
gpt4 key购买 nike

如果我的理解是正确的,va_end 被调用以进行清理并且在相同的上下文中,va_end 的手册页说明了这一点

va_end()

Each invocation of va_start() must be matched by a corresponding invocation of va_end() in the same function. After the call va_end(ap) the variable ap is undefined. Multiple traversals of the list, each bracketed by va_start() and va_end() are possible. va_end() may be a macro or a function.

所以很明显,如果调用 va_start,则需要调用 va_end,但反向关系是否成立,即是否应该始终在 va_end 之前通过 va_start?

最佳答案

来自 C99 7.15.1.3/2“va_end 宏”:

If there is no corresponding invocation of the va_start or va_copy macro, or if the va_end macro is not invoked before the return, the behavior is undefined.

关于c++ - 我们可以在不调用 va_start 的情况下调用 va_end 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359017/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com