-
[C++] 참조자 vs 포인터Language/C++ 2022. 7. 28. 00:46
우선 C언어에서는 포인터의 개념만 있었다면 ,
C++ 에서는 참조자의 개념이 추가되었다.
Pointer란 ? 어떤 변수의 주소값을 가지고 있는 또 다른 변수이다.
Referecne 란 ? 이미 기존에 있는 변수의 Alias 같은 개념이다. 한번 Reference가 해당 변수로 초기화가 되면 바꿀 수
없음. 즉 이는 const pointer 와 같은 개념이다 .
다음과 같은 대표적으로 Call by Reference를 설명하는 swap 함수 예제 코드를 보면
fucntion arguments를 Reference로 Pass하는 것을 확인할 수 있다.
#include <bits/stdc++.h> using namespace std; // To pass the value by reference, argument reference is passed to the functions // just like any other values. void swap(int& ref_a, int& ref_b) { int tmp = ref_a; ref_a = ref_b; ref_b = tmp; } int main() { int a = 10; int b = 20; cout << "Before swap " << "a : " << a << " b: " << b << '\n'; swap(a, b); cout << "After swap " << "a : " << a << " b: " << b << '\n'; }'Language > C++' 카테고리의 다른 글
[C++ ] Arrow operator (0) 2022.08.03 [C++] C/C++ Pointer 변수 크기 (0) 2022.08.02 [C++] namespace 와 std 의미 (0) 2022.07.30 [BOJ 10808] 알파벳 개수 (0) 2022.07.30