가 여기에 오버로드 >>
연산자 함수입니다 : 키보드 또는 다른 소스로부터 입력이 s
를 입력 할 때까지 터미널이나 콘솔이 대기하므로 내 이해에if (! (is >> s))가 의미하는 것은 무엇입니까?
std::istream& operator>>(std::istream& is, std::vector<int>& v){
string s;
if (! (is >> s))
return is;
...
return is;
}
, if(! (is >> s))
아무 의미가 없습니다. 따라서 if()
의 조건 값은 궁극적으로 false
이됩니다. 누가 도와 드릴까요?
"문자열이 읽을 수없는 경우"로 읽어야합니다. –
코드가 너무 빽빽합니다. 그것은 두 부분으로 작성되어야합니다 :'is >> s; if (! is) ...'. –