C + + 035.1主表达式2 表示:
字面值是主要表达式。它的类型取决于它的形式(2.13)。字符串文字是左值; 所有其他文字都是右值。
同样,C996.5.14表示:
字符串文字是一个主表达式,它是一个左值,类型详见6.4.5。
这背后的理由是什么?
据我所知,字符串文字是对象,而所有其他文字不是。L 值总是指一个对象。
但问题是为什么字符串文字是对象而其他文字不是?这个逻辑在我看来更像是鸡蛋或鸡肉的问题。
我知道这个问题的答案可能与硬件架构有关,而不是 C/C + + 作为编程语言,尽管如此,我还是希望听到同样的答案。