jma*_*erx 2 c variadic-functions
我想知道我怎么能做到这一点.我对N个论点部分感到困惑:
printf("Hello, I'm %i years old and my mom is %i .",me.age(),mom.age());
Run Code Online (Sandbox Code Playgroud)
我想创建一个函数,它将采用这样的格式化字符串并返回一个std字符串.
N个参数部分是如何完成的?
Jam*_*lis 10
printf是一个可变函数; 您可以使用提供的工具实现自己的可变参数函数<stdarg.h>.
在C++中,应尽可能避免使用可变参数函数.它们可以作为参数接受的类型非常有限,并且它们不是类型安全的.C++ 0x为C++添加了可变参数模板; 一旦对此功能的支持很普遍,您将能够编写类型安全的可变参数函数.
在此期间,最好使用其他一些类型安全的方法. 例如,Boost.Format会重载%运算符以执行格式化.