C++,참조연산
< 질문 >
여기서 참조연산자 & 과 주소참조 연산자 *
이 두개가 한꺼번에 쓰이고 있다. 왜 이렇게 썼을까?
void allocate_doubles(double*& p, size_t& n);
{
cout << “Input the number of doubles:” ;<br /> cin >> n ;
p = new double[n] ;
}
< 답변 >
연산자를 단계별로 들여다 봅시다.
double& 은 말그대로 double의 참조 입니다.
double*&은 double*( 포인터 또는 array 배열 )의 참조입니다.
위와 유사하게 사용할수 있는, 이중포인터 double **p; 을 볼까요?
p는 아래와 같이 사용할 수 있습니다.
*p = new double [n];
**로 값을 받으면, 해당 오브젝트에서 p를 해제할수 있습니다.
&참조로 받으면, 해제할 수 없습니다.
'소프트웨어개발' 카테고리의 다른 글
C, File I/O, open(), fopen() 그리고 dup() (0) | 2020.03.30 |
---|---|
select,epoll,poll (0) | 2020.03.18 |
[JAVA] DATA Type (0) | 2016.07.12 |
[ GPS ] GPS Packet Sheet (1) | 2016.01.05 |
[음성합성 기술 ] 음성합성 기술 및 국내외 현황 2013 (0) | 2016.01.05 |
댓글