相关疑难解决方法(0)

为什么字符串文字是l值,而所有其他文字都是r值?

C++ 03 5.1主要表达式
§2:

文字是主要表达方式.它的类型取决于它的形式(2.13).字符串文字是左值; 所有其他文字都是右值.

这背后的理由是什么?
据我所知,字符串文字是对象,而所有其他文字都不是.并且l值总是指对象.

但问题是为什么字符串文字是对象,而所有其他文字都不是?
这个理由在我看来更像是鸡蛋或鸡肉问题.

我理解这个问题的答案可能与硬件架构有关,而不是C/C++作为编程语言,但我想听到同样的看法.

注意:我将此问题标记为c&c ++,因为C99标准也有类似的引用,特别是§6.5.1.4

c c++ literals string-literals

53
推荐指数
4
解决办法
5760
查看次数

标签 统计

c ×1

c++ ×1

literals ×1

string-literals ×1