2011-09-07 8 views
0

<<에 대한 연산자 오버로드가 있으며 char*을 C 스타일 문자열로 해석합니다. char*이 단일 문자를 가리키는 경우 어떻게 스트림으로 출력합니까? ch 유형 char*이며 실제로 하나의 문자를 가리키는 경우<< 연산자에 char 포인터 사용

답변

7

, 표현의 유형 char이되도록 *ch를 사용합니다. 운영자는 무엇을해야하는지 알 수 있습니다.

1
char c=42;//sadly I could not use my favourite constant 666 
char* pc=&c; 
cout << *pc; 
당신이 표현에서 사용하기 전에 char에 대한 << (NO *)와 역 참조하여 char*에 과부하가 필요 했어 경우를 들어

1
char x = 'a'; 
char *p = &x; 
stream << *p; 
+0

이 대답에 따라 확장 할 필요가 있습니까? –

+0

@ 코드 원숭이 : 확장 할 부분은 무엇입니까? –

+0

귀하의 게시물은 SO 자동 엔진별로 저품질 게시물로 제공되었습니다. 나는 당신이 설명과 같은 당신의 대답에 더 많은 것을 더할 수 있다고 생각합니다. –

-1

.

+1

-1이 필요하지 않을뿐만 아니라 허용되지 않습니다. 두 인수 중 적어도 하나가 정의한 유형 인 연산자 만 오버로드해야합니다. – MSalters

+0

피연산자의 다른 쪽에서 어떤 유형 (또는 누구의 것)이 사용되는지는 아무도 없습니다. –

관련 문제