while 루프 내부의 cin

Abhijeetps

간단한 코드를 작성했습니다.

#include <iostream>
using namespace std;
int main()
{
  int a, b;
  while (cin >> a >> b)     //Note the cin inside while loop
  { 
    cout << a << b << "\n";
  }
}

while루프는 표현식이 true( 1) 또는 false( 0)로 평가 될 때만 작동 한다는 것을 알고 있습니다. 어떻게 와서 cin평가하고 truefalse.

또한 숫자를 입력 할 때 while 루프가 실행되고 숫자가 아닌 것을 입력하면 중지되는 방법은 무엇 입니까? 참과 거짓을 어떻게 평가합니까?

Chazeon

를 작성할 때 cin >> a실제로를 사용하고 있습니다. 여기std::istream::operator>> 참조에 따르면 이 연산자 객체 참조를 반환 하고 오른쪽 변수 (참조)를 인수로 사용합니다. 다음과 같이 연결할 수 있습니다 ..istream&cin >> a >> b

cin >> a >> b체인을 다른 방식으로 보려면 , 분해 할 때 다음 두 단계를 따르십시오.

  • 첫 번째 단계 cin >> a는 중간 값을 반환합니다 x. (실제로 auto x = cin >> a.
  • 두 번째 단계, 당신은 일을 (cin >> a) >> b우리는이 중간 값을 사용할 때 x, 우리가 그것을 쓸 수 있습니다 x >> b.

그래서이게 뭐야 x? x여기서는와 같은 위치에 있으며 유형 cin의 객체입니다 istream&.

따라서 true또는 false대해 말할 때 실제로이 반환 된 istream&참조가 객체를 참조하는지 true또는 객체를 참조 하는지에 대해 이야기 하는 것입니다 false. 그것은 것 false표준 출력 (당신이 시스템처럼 유닉스에서 Ctrl-C를 입력 할 때, 또는 당신이 파일의 끝에 읽을 때와 같은)를 EOF 기호를 잡을 때.

따라서 코드를 다음과 같이 확장 할 수 있습니다.

#include <iostream>
using namespace std;
int main()
{
  int a, b;
  auto x = cin >> a >> b
  while (x)
  { 
    cout << a << b << "\n";
  }
}

Visual Studio와 같은 IDE를 사용하는 경우 마우스로 변수를 가리킬 수 있습니다. 그러면 유형을 x묻는 메시지가 표시됩니다 .xistream&

또한, Bob__ 덕분에,이 istream&클래스는로 변환 할 수있는 ios::operator bool등의 기록, 클래스 여기 가 있는지, true또는 false(상태를 나타냅니다 ios_base::iostate) 이런 stream, 그것은 therfore

가능 스트림 관용적 C 초래 루프 상태 스트림에 리턴 참조 ++ 입력 같은 것을 루프 기능 사용할 수 while(stream >> value) {...}이상 while(getline(stream, string)){...}. 이러한 루프는 입력 작업이 성공한 경우에만 루프의 본문을 실행합니다.

이해를 돕기 위해 교과서의 연산자 (오버로딩) 장을 읽어야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

while 루프 및 cin char, int

분류에서Dev

while 루프 내부의 PHP while 루프

분류에서Dev

SELECT 내부의 while 루프

분류에서Dev

while 루프 내부의 Free ()

분류에서Dev

cin을 사용하는 while 루프의 조건

분류에서Dev

while 루프 내부의 다른 while 루프, 무한 루프

분류에서Dev

while 루프 내부 while 루프 MySQL

분류에서Dev

PDO 쿼리의 while 루프 내부의 While 루프

분류에서Dev

while 루프의 cin이 제대로 작동하지 않습니다 (C ++).

분류에서Dev

while 루프 내부의 행렬 조건

분류에서Dev

while 루프 내부의 MATLAB 함수

분류에서Dev

while 루프 내부의 mysql 쿼리

분류에서Dev

while 루프 내부에 변수 정의

분류에서Dev

while 루프 내의 while 루프

분류에서Dev

PHP에서 foreach 루프 내부의 while 루프

분류에서Dev

For 루프의 While 루프

분류에서Dev

while 루프의 foreach 루프

분류에서Dev

while 루프 내부의 While 루프는 첫 번째 행만 반환합니다.

분류에서Dev

쉘의 While 루프

분류에서Dev

setOnTouchListener의 While 루프

분류에서Dev

while 루프의 QSerialPort?

분류에서Dev

jQuery의 while 루프

분류에서Dev

jQuery의 while 루프

분류에서Dev

while 루프의 if 문?

분류에서Dev

while 루프 내부 조건부 문제

분류에서Dev

C ++ : while (cin) 루프에서 때때로 루프가 무시됩니다.

분류에서Dev

cin을 사용하여 while 루프 닫기

분류에서Dev

std :: cin 입력으로 while 루프 중지

분류에서Dev

while (cin >> s) 루프를 종료합니다. 가속화 된 C ++