3
當我使用char指針指向單個char時,它似乎最終指向一個char數組。這裏怎麼回事?指向char數組而不是單個char的char指針?
#include <iostream>
#include <map>
using namespace std;
int main() {
char first = 'a';
char second = 'b';
char third = 'c';
map<char, char *> myMap;
myMap['a'] = &first;
myMap['b'] = &second;
myMap['c'] = &third;
cout << myMap['a'] << endl; // ends up printing 'abc' or 'cba'
system("pause");
return 0;
}
如果這種情況沒有發生,'性病::法院<< 「!你好,世界\ n」;'將打印'H',這對於初學者來說可能會造成混亂。 – chris
如果你將'char *'傳遞給'iostream',它就認爲它是一個C風格的字符串。 –
@chris實際上,它會打印類似於'0x4f72b6d4'的東西 - 那麼它就沒有任何理由去取消指針了。 – Angew