The author doesn't understand that va_list and va_arg are very inefficient, compared to normal argument pass:
http://sagartewari01.com/object-oriented-c-constructors-and-destructors/his constructors will be order of magnitude slower than C++ constructors.