기록은 기억을 이기고 시간보다 오래 남는다.

프로그래밍 언어/c++

[c/c+]참조자_레퍼런스(reference)

준_준 2023. 2. 1. 19:42

1). 레퍼런스는 반드시 누구를 참조하는지 명확하게 표시하여야한다.

 

2.)

레퍼런스는 상수값을 직접 받아오지 못한다. 

 ex1). 이 경우에는 에러가 난다. 이유는 참조자는 상수값 즉 리터럴(literal) 받지 못한다. 따라서 추가하거나 더 변경할 부분은 빨간색으로 표시해 뒤었다.

//case 1                                                                                  //case 2

#include<iostream>                                                              #include<iostream>                                 

using namespace std;                                                          using namespace std;

int main()                                                                               int main()

{                                                                                             {
       const int &ref=10;                                                                   int ref1=10;

       cout<<ref<<endl;                                                                    int & ref=ref1;   

       return 0;                                                                                  cout<<ref<<endl;

}                                                                                                     return 0;

                                                                                               }

 

3).레퍼런스는 한번 다른 변수를 참조하면 다른 변수를 참조 할 수 없다.

 

4).레퍼런스는 특별한 경우가 아니면 메모리 안에서 공간을 차지하지 않는다.

 

5). c++에서는 참조자의 참조자를 만드는 것은 허용되지 않는다.

 

6). 레퍼런스에서 배열을 활용하는 것은 c++ 규정상 금지되어 있다.

     하지만 불가능 한 것은 아니다.

 

7). Dangling reference란 원래 참조하던 원본 정보가 없어진것을 말한다. 따라서 지역변수 레퍼런스를 참조하지 않도록 조심하여야 한다.

반응형