
2주차는 C/C++ 에 대한 내용을 중점적으로 다루었습니다.
원래대로라면 C++만 다루는 것이 맞지만, 1주차에 C를 깊게 들어가다보니 2주차에도 C를 같이 다루게 된 것 같습니다.
특별히 기억할 만한 사항이라면, 역시 reference 파트가 있을 것 같습니다.
학부 때는 C++을 그렇게 많이 사용하지도 않았고, 제대로 파고든 적이 없어 Reference는 존재만 들었었는데요, 이번에 조금 자세히 배울 수 있었습니다.
레퍼런스란, 어떤 변수에 일종의 별명을 붙여주는 것입니다. 실제 값을 포함하는 것도 아니고, 주소값도 동일하기 때문에 메모리 공간을 차지하거나 하는 것은 아닙니다.
위에서 언급했듯, 레퍼런스는 별명을 붙여주는 것입니다. 일반적으로 사용하면 일반 변수와 똑같이 작동합니다. 그렇다면 대체 이 레퍼런스를 어디에 사용할 수 있을까요?
바로 함수에서 포인터를 호출할 때 사용할 수 있습니다.
void swap(int* a, int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
이런 함수가 있다고 가정해 봅시다.
흔히 만드는 swap() 함수입니다. 두 변수를 입력 받아서 값을 서로 변경하는 것이죠.
솔직히, 보기 불편합니다. 이를 레퍼런스를 사용하면 다음과 같이 만들어줄 수 있습니다.
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = a;
}
훨씬 보기 좋죠? 물론 호출할 때는 포인터로 보내주어야 합니다. 포인터로 보내주면 레퍼런싱이 되어 a, b 로 사용할 수 있는 것이죠.
이 레퍼런스를 이용한다면, 훨씬 가독성 좋은 코드를 만들 수 있습니다.
| [한화비전 VEDA 4기] 5주차 리뷰 (1) | 2026.04.26 |
|---|---|
| [한화비전 VEDA 4기] 4주차 리뷰 (1) | 2026.04.19 |
| [한화비전 VEDA 4기] 3주차 리뷰 (1) | 2026.04.16 |
| [한화비전VEDA 4기] 1주차 리뷰 (0) | 2026.04.10 |
| [한화비전 VEDA 4기] 합격 후기 (1) | 2026.04.09 |
댓글 영역