printf
- переменная функция;Вы можете реализовать свои собственные функции с переменными числами, используя возможности, предоставляемые <stdarg.h>
.
. В C ++ следует избегать функций с переменными числами, где это возможно.Они весьма ограничены в том, какие типы они могут принимать в качестве аргументов, и они не являются безопасными типами.C ++ 0x добавляет шаблоны переменных в C ++;как только поддержка этой функции станет широко распространенной, вы сможете писать безопасные переменные функции типа.
А пока лучше всего использовать какой-то другой безопасный метод. Boost.Format , например, перегружает оператор %
для выполнения форматирования.