매개변수 타입보면
int func(ABC *&abc) { ... }
위 함수처럼 포인터와 레퍼런스가 있는경우가 있습니다 abc라는 레퍼런스가 ABC의 포인터 변수를 가리키로 있는걸로 생각이 되는데요 정확히 어떤의미인지 알고싶구요 ABC 객체를 가리키는 레퍼런스 형태인 &abc로 쓰지 않고 굳이 ABC 객체의 포인터를 가리키는 레퍼런스 형태로 사용하는 이유를 알고싶습니다
포인터 자체의 값을 바꾸고 싶은 경우겠죠 ? ^^;
void func1(int *p) {p = 0;} void func2(int *&p) {p = 0;} int a = 1; int *p = &a; std::cout << p << std::endl; func1(p); std::cout << p << std::endl; func2(p); std::cout << p << std::endl;
한번 돌려보세요. 실제로 쓰이는 건 2차원 배열이 아닌데 이중포인터를 쓰는 곳과 비슷합니다.
이제 이해가 되었네요 감사합니다~~
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
포인터 자체의 값을
포인터 자체의 값을 바꾸고 싶은 경우겠죠 ? ^^;
void func1(int *p) {p =
void func1(int *p) {p = 0;}
void func2(int *&p) {p = 0;}
int a = 1;
int *p = &a;
std::cout << p << std::endl;
func1(p);
std::cout << p << std::endl;
func2(p);
std::cout << p << std::endl;
한번 돌려보세요. 실제로 쓰이는 건 2차원 배열이 아닌데 이중포인터를 쓰는 곳과 비슷합니다.
답변 감사합니다^^
이제 이해가 되었네요 감사합니다~~
댓글 달기