프로그래밍 공부
작성일
2024. 1. 9. 13:46
작성자
WDmil
728x90

1.2.2 참조형

 

함수의 전형적인 패턴은 0개 또는 1개 이상의 파라미터를 받아서 계산을 하고 하나의 결괏값을 리턴하는 것이다.

 

하지만 이런 패턴이 맞지 않는 경우도 있다.

 

리턴하고 싶은 결곽값이 2개 이상일 수도 있고, 파라미터로 넘겨진 변수를 함수에서 변경해주길 원할 수도 있다.

 

이런 경우 C에서는 변수 대신 변수의 포인터를 전달하여 해결한다.

 

이러한 방법의 유일한 단점은 포인터 조작 때문에 코드가 지저분해지는것 이다.

 

C++에서는 포인터 없이도 명시적으로 참조에 의한 전달(Pass by Referance)를 지원한다.

 

함수 파라미터의 정의부에서 각 파라미터 변수 이름 앞에 & 연산자를 붙이는 것이다.

 

사용법은 보통 변수와 동일하지만 내부적으로는 함수 안에서도 함수 호출 시 사용된 변수의 포인터가 사용된다.

 

void addOne(int i)
{
	i++; // 파라미터 변수의 복제본이기 떄문에 원래 변수에는 영향이 없음.
}

void addOne(int& i)
{
	i++; // 원본 파라미터 변수값이 1 증가함.
}

위와같은 차이점이 존재한다.

 

 

728x90