由于C ++ 11具有可变参数模板函数,因此variadic函数是否已被弃用? 更具体地说,变量函数在特定情况下有任何优势吗? 我知道variadic-macro可以有它们的用途。可变函数怎么样?
答案 0 :(得分:11)
可变参数模板在编译时是可变的;可变函数在运行时是可变的。换句话说,编译可变参数模板函数以接受许多参数传递给它,而编译常规可变参数函数以接受任意数量的参数。
您可以将类似printf
的可变函数放入库中,并将其发送给某人,以便在没有源代码的情况下使用。您无法使用模板函数执行此操作,因为其源代码需要可供调用者使用。