3
char 포인터를 사용하여 단일 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;
}
이 <<,'표준 : : cout을 발생하지 않은 경우! "안녕하세요, 세계 \ n";'인쇄 할 것'H'를, 그것은 초보자들에게는 대단한 혼란을 줄 것입니다. – chris
'char *'를'iostream'에 건네면, C 스타일의 문자열이라고 가정합니다. –
@chris 사실,'0x4f72b6d4'와 같은 것을 출력 할 것입니다. 포인터를 derefernce 할 이유가 하나도 없습니다. – Angew