1.5.1.2 레퍼런스에 의한 호출
함수의 매개변수를 수정하려면 인수를 레퍼런스로 전달(Pass-by-Reference)해야 한다.
void increment(int& x) { x++; }
이제, 변수 i 자체가 증가되어 예상대로 5를 출력한다. 우리는 1.8.4절에서 레퍼런스에 대해 자세히 살펴볼 것이다.
연산 결과와 같은 임시 변수들은 레퍼런스로 전달할 수 없다.
increment(i + 9); // 오류: 임시 변수는 참조할 수 없다.
임시 값을 일부 갖는 함수를 호출하려면 먼저 변수에 임시 값을 저장하고 이 변수를 함수에 전달해야 한다.
벡터 및 행렬과 같이 더 큰 자료 구조들은 비용이 비싼 복사 연산을 피하고자 거의 항상 레퍼런스에 의한 전달을 사용한다.
double two_norm(vector& v) { ... }