내가 이해 한 바로는 C++은 왼쪽에서 오른쪽으로 작동합니다. 내가 예를 들어, :"="연산자는 무엇을 반환합니까?
std::cout << "output" << "stream";
C를 권리 ("출력")에서 리터럴 문자열을 받아 넣어 < < 운영자가 옆 ++ 첫째, 가장 왼쪽에있는 것은 (표준 : COUT)에서 시작 그것을 연산자의 왼쪽에있는 객체 (std :: cout)에 넘깁니다. 그런 다음 C++은 연산자 (std :: cout)의 왼쪽에있는 객체를 반환 한 다음 다른 코드 < <을 계속합니다.
"="연산자는 무엇을 반환합니까?
는
double wage = 5;
double salary = wage = 9999.99;
나는 "="연산자가 "="의 왼쪽 또는 오른쪽 피연산자를 반환 생각 나는 경우. 그래서, 내 논리와 함께, 급여 초기화 라인에서 급여는 임금의 값으로 초기화되고, "="연산자는 급여 또는 임금 (급여라고합시다)을 반환 한 다음 급여에 9999.99를 할당하지만 임금은 그 값은 5가 유지되어야합니다.
그러나 "급여"초기화 후 "급여"및 "임금"값을 확인할 때 값은 모두 9999.99입니다. 위의 std :: cout과 동일한 논리를 적용하면 "salary"또는 "wage"중 값이 9999.99 인 하나의 변수 만 있어야합니다.
* "C++은 왼쪽에서 오른쪽으로 작동합니다"* 운영자에 따라 다릅니다. '= '는 특히 우연히 연관되어 있습니다. 그것은 오른쪽에서 왼쪽으로 작동합니다. –
@Igor :'double salary = wage = 9999.99;에 단 하나의 대입 연산자가 있습니다. 따라서 연관성은 중요하지 않습니다. –