有人可以列出C ++中提供的所有编译时运算符吗?
答案 0 :(得分:8)
C ++中有两个运算符,无论操作数如何,都可以在编译时确定结果,这些运算符是sizeof
[1]和::
[2]。< / p>
当然,在编译时可以解析其他运算符的大量特定用途,例如整数常量表达式标准中列出的那些。
[1]与C ++不同,C99具有可变长度的数组类型。应用于VLA的sizeof
无法在编译时确定。一些C ++编译器提供了VLA作为扩展。
[2]也就是说,可以在编译时确定哪个实体是表达式的结果。如果实体是一个对象,那么对象的值是另一个问题。
答案 1 :(得分:0)
标准中没有这样的术语。
但这里是所有运营商的清单:http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B(我确信还有其他运营商......)。以某种方式对它们进行分类应该相当容易。