https://boycoding.tistory.com/217

C 08.03 - 참조로 전달 (Pass by reference)08.03 - 참조로 전달 (Pass by reference) 값으로 전달은 두 가지 한계가 있다. 첫째, 큰 구조체 또는 클래스를 함수에 전달할 때 값으로 전달은 인수의 복사본을 함수 매개 변수로 만든다. 이 경우 복사하는데 큰 비용이 들어 성능이 저하될 수 있다. 둘째, 값으로 인수를 전달할 경우 함수에서 호출자에게 값을 반환하는 유일한 방법은 함수의 반환 값을 사용하는 것이다. 이 방법도 좋지만, 함수에서 인수를 수정하는 것이 더 명확하고 효율적일 수 있다. 참조를 통해 위 두 가지 문제를 해결할 수 있다. 변수를 참조로 전달하려면 함수 매개 변수를 일반 변수가 아닌 참조로 선언해야 한다. void addOne(int& y) // y is a reference variable { y = y + 1;..boycoding.tistory.com

여기서는



라고 하는데 제가 보고 있는 강의 "홍정모의 따라 배우는 C++"에서는


bool isEven(const int& number)

{

if (number % 2 == 0) return true;

}


이런 식으로 number라는 파라미터를 참조자로 받으시더라구요. (클래스나 구조체도 멤버 함수도 아니고 그냥 main에서 쓰는 함수입니다.)


그러니까, 제 질문의 요지는 값으로 받지 않고 레퍼런스로 받는 이유가 복사가 안 일어나서 빠르다는 건 알겠는데 그렇다면 파라미터로 받을때 무조건 레퍼런스로 받으면 되는데 "수정할 필요가 없는 기본 자료형을 전달할 때 (값으로 전달 사용)"이 부분이 이해가 안갑니다.

도와주십시오.