C++中函数如何支持可变参的?

267 天前
 xuelang

下面这些问题你答的出来不?

  1. C++ 函数是怎么支持可变参的?
  2. C++ 可变参是如何不断迭代实现的?
  3. 可变参中类型安全是什么意思?
  4. 怎么验证编译器的展开代码?
  5. 可变参在哪些开源库有应用?

完整见我的个人博客 C++ 函数可变参实现方法的演进


注意:在 和 ChatGPT 结对,通过提问并验证的方式来学习和总结这里可变参的实现,整体对话可以查 ChatGPT - Variadic Templates in C++

858 次点击
所在节点    推广
11 条回复
jones2000
267 天前
搞这么复杂干什么呢,指针数组不就完事了。
func( vector<void*> ) 要多少个参数都行。
augustheart
267 天前
建议先理解区分可变参函数和可变参模板
abelyao
267 天前
@jones2000 @augustheart 人家就是来发广告的,别太认真

@Livid 这个号最近的文章都带了链接
Livid
267 天前
@abelyao 谢谢。这个主题已经被移动。

@xuelang

如果你要搬运链接推广,请发送到 /go/promotions 节点。你的账号上目前会有 -8 的降权。
xuelang
264 天前
@jones2000 指针数组的话,缺了类型安全
xuelang
264 天前
@augustheart 这里应该是用可变参模板实现可变参函数,这样理解可以吧?
xuelang
264 天前
@Livid 其实也不是搬运推广,纯技术交流,只是发在个人博客,不想再复制内容过来。

不过你觉得搬运推广的话,我也无话可说~
jones2000
264 天前
@xuelang 指针是 c++一大特色,也是防御性编程的一个有利的武器。
xuelang
264 天前
防御性编程。。。 是我理解的那个意思吗(故意写的别人很难懂)
augustheart
263 天前
@xuelang 必须这样说清楚啊。可变参函数是 c 那套东西,从原理到实现都完全不相同
xuelang
263 天前
@augustheart 嗯嗯,确实这样更清晰些。感谢指出

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1038391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX