이름공간(namespace)
std: C++ 표준 라이브러리의 모든 함수, 객체 등이 정의된 namespace
중복된 이름을 가진 객체를 구분하기 위해 쓰임.
참조자(reference): 변수나 상수를 가리키는 포인터 이외의 방식
int a1 = 2;
int& a2 = a1;
a2 = 4;
// a1 값과 a2의 값은 4로 똑같다.
포인터와의 차이점: 정의 시에 누구의 참조인지 명시해야 함. 참조 대상은 변할 수 없음. 레퍼런스는 메모리 상에 존재하지 않을 수 있음.
int x;
int& y = x;
int& z = y; // int& z = x; 와 동일
// y와 z는 모두 x의 참조자임.
예를 들어 cin은 레퍼런스로 값을 받아들인다.
상수도 레퍼런스를 가질 수 있지만 상수는 변하는 값이 아니기 때문에 const로 선언 시에만 레퍼런스를 가질 수 있다.
const int& ref = 5;
레퍼런스 배열은 존재할 수 없지만 배열의 레퍼런스는 가능하다.
// 다음은 불가능
// int& ref[2] = {arr1, arr2};
// 다음은 가능
int arr[2] = {1, 2};
int(&ref)[2] = arr;
ref[1] = 5;
댓글 없음:
댓글 쓰기