2011-01-26 13 views
2

다음과 같이C++ << >> 연산자

<< >> >>

iostreams와 관련하여 작성자는 종종 다음과 같이 설명합니다. "put-to"또는 "stream insertion"및 "get-from"또는 "stream extraction"연산자로 각각 ​<<​>>을 참조하십시오.

위의 예제 코드에서 연결를 수행하는 <<가 아닌가? 연결에 C++의 특수 연산자가 있습니까?

고마워.

답변

1

이 경우 연결은 실제로 발생하지 않습니다. 대신에 각 문자열이 차례로 출력 스트림에 기록됩니다. 이 경우 스트림이 표준 출력됩니다.

1

연결하는 경우 operator +을 사용합니다. 그러나 @tsellon이 말했듯이, 당신의 예제는 기술적으로 말하자면 연결이 아니라 스트림으로 순차적으로 쓰여지고 있습니다. 어쩌면 차이는 추상적으로 보일지 모르나 그 의미는 매우 현실적입니다.

3

연산자는 C++에서 아무 것도 없습니다. std::ios (파생 된) 은 스트림 작업을 수행하는 간단한 방법을 제공하기 위해operator>> 및를 잘못 사용했습니다. 두 연산자는 C++에서 다른 의미를 가지고 있습니다.

는 연산자는 두 std::stringoperator+입니다 연결하는 데 사용 (하지만이 경우에는 그렇지 않은 오용을했다고 생각 : operator+ 둘 사이의 문자열을 내가 기다리고있을 것입니다 무엇을하고있다).

+0

+1 또한이 인스턴스에서'<< '연산자는 첫 번째 인수 인 스트림을 반환한다는 점에 유의해야합니다. – tobyodavies

1

iostream의 컨텍스트에서 operator <<은 데이터를 스트림에 삽입합니다. 스트림이하는 일은 완전히 다른 이야기입니다. 문자열을 연결할 수도 있지만 (완전히 std::stringstream), 완전히 다른 작업을 수행 할 수도 있습니다.

관련 문제