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란 원래 참조하던 원본 정보가 없어진것을 말한다. 따라서 지역변수 레퍼런스를 참조하지 않도록 조심하여야 한다.
'프로그래밍 언어 > c++' 카테고리의 다른 글
쓰레드 [thread/THREAD] (0) | 2023.02.27 |
---|---|
[c/c++] 일, 월, 년을 원하는 만큼 더하는 프로그램 (0) | 2023.02.23 |
[c/c++] 다양한 메뉴에 따라 출력되는 사각형/HDC hdc =GetWindowDC(GetForgroundWindow()); (0) | 2022.06.12 |
[C/C++] c++ espresso(에스프레소) chapter 08 상속 연습문제 (0) | 2022.06.11 |
[C/C++]c++ ESPRESSO 5장 코딩 문제(연습문제) (0) | 2022.05.02 |