我每天都使用 ROOT C++ 库 (root.cern.ch),并且在浏览源代码时遇到了这个函数声明:
TString TString::Format(const char *va_(fmt), ...)
{
//etc.
可以在这里找到。
我不明白 a 如何const char *
在其名称中包含参数或括号。该表达式va_(fmt)
稍后被用作简单表达式,const char *
即使它看起来像函数调用或构造函数。起初我认为它与变量参数列表有关,这对我来说也是新的,但是阅读 stdarg.h 上的文档对这个问题根本没有帮助。
谷歌很难寻求帮助,因为我真的不知道该怎么称呼它。带有参数的声明?这不会产生任何好的结果。
我曾经以为我知道 C++,但这是怎么回事?所有帮助将不胜感激。