我只是偶然在下面的代码行为什么我可以获取字符串文字的地址,但不是整数文字的地址?
cout << &"Blahh" << endl;
编译器不会给出错误并在控制台上显示的地址。它工作正常,没有任何问题。如果我用int替换“Blahh”,那么
cout << &10 << endl;
代码将不会编译。简而言之:一个字符串文字可以工作,但不是整数字面值。
cout << &"Blahh" << endl;
的工作原理和cout << &10 << endl;
的原因是什么?
简短回答:'10'是一个右值,''Blahh“'是一个左值。 – ildjarn 2012-02-02 17:02:35
“代码不会编译”的另一种说法是没有提到编译器或错误消息。人们会不会学习? – abelenky 2012-02-02 17:02:55
@abelenky:你是指个体,还是整个人类从遗传角度演化出来,从出生时就知道这很烦人? – 2012-02-02 17:06:33