编译时间运算符

The*_* do 4 c++ metaprogramming operators

有人可以列出C++中提供的所有编译时运算符吗?

Ste*_*sop 8

C++中有两个运算符,无论操作数如何,都可以在编译时确定结果,这些运算符是sizeof[1]和::[2].

当然,在编译时可以解析其他运算符的大量特定用途,例如整数常量表达式标准中列出的那些.

[1]与C++不同,C99具有可变长度的数组类型.sizeof应用于VLA无法在编译时确定.一些C++编译器提供VLA作为扩展.

[2]也就是说,可以在编译时确定哪个实体是表达式的结果.如果实体是一个对象,那么对象的值是另一个问题.