在C++中表达式'ab'=="ab"是否为真

Nas*_*sja 5 c++ types normalization

我的问题听起来可能很愚蠢,但我必须在准备自己的学士考试时回答这个问题.

那么,您如何看待C++中的这种表达式'ab'=="ab"?这不是真的,或者根本就不合法并且编译错误?我用谷歌搜索了一下并且知道'ab'是int类型而"ab"当然不是......

我不得不考虑编译器说的是什么,而是说正式的语言描述.

Vla*_*lad 4

它肯定会生成警告,但默认情况下gcc会编译它。通常应该是假的。

话虽如此,理论上应该可以将编译时常量放置"ab"在地址等于“ab”数值的内存位置,当然这取决于您运行它的平台,表达式为真的情况(尽管比较当然没有意义)。