在下面的代码中,
main
函数中的后缀表达式 AttrNode().AttrNode
的含义是什么?gcc 和 clang 都能够编译该代码而不出现任何错误。看起来这在 C++ 标准中是合法的。但是这样的代码有什么意义?为什么 C++ 标准允许这种用法?请注意保留 HTML 格式标记。#include <stdio.h>
struct AttrNode {
public:
AttrNode() {}
static void make() {}
};
int main() {
AttrNode().AttrNode::make();
return 0;
}
谢谢!