在下面的代碼我糊塗了,並增加了+,它應該是< <+運算符在cout中做什麼?
#include <iostream>
#include "Ship.h"
using namespace std;
int main()
{
cout << "Hello world!" << endl;
char someLetter = aLetter(true);
cout <<"Still good"<<endl;
cout << "someLetter: " + someLetter << endl;
return 0;
}
應該
cout << "someLetter: " << someLetter << endl;
不正確的代碼輸出:
世界,你好!
還是不錯的
OS ::明確
我不明白的是爲什麼編譯器沒抓到任何錯誤,是什麼操作系統::清楚是什麼意思?此外,爲什麼不在線的開頭「someLetter:」?
我不記得文字字符串只是指針,因爲我從來沒有聽說過:-)這是如何工作的? – Celeritas
字符串文字是**不是**指針。他們是常量字符數組。因此,它們的行爲與任何數組相同,有時可能會衰減到指向其第一個元素的指針。 –