ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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
Designed by Tistory.