#include <iostream>
using namespace std;
int f()
{
throw 1;
}
int main()
{
try
{
cout << "Output: " << f() << endl;
}
catch (int x)
{
cout << x;
}
}
왜 "Output: "
가 인쇄되지 않는 이유는 무엇입니까? 을 operator<<(cout, f())
전에 호출해야합니까? 선이 원 자상이라면, 어떻게 인쇄가 뒤집니까?
왜'cout'이 이와 같은 배포 속성을 사용한다고 생각하십니까? 모든 주장이 먼저 평가되는 것이 더 합리적이지 않습니까? – PaulMcKenzie
f()가'operator << (cout, "Output :")'전에 평가 될 수 있다는 사실을 무시했습니다. 나는 논쟁이 왼쪽에서 오른쪽으로 평가 될 것이라고 생각했다. –