C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20899] Re: *& 포인터
아제나 [] 1362 읽음    2002-08-20 10:49

간단하게 생각하세요.

TStream *&VStream

일반적으로 (TStream *VStream)은 많이 쓰지요.

거기에 참조 연산자인 &를 붙여넣은건데요.

보통 파라미터에 참조 연산자를 쓰는 경우는

그 값을 함수 밖에서도 받아보기 위함이지요.

예를 들어서,

void a( int &b )
{
   b = 1111;
}

main()
{
  int c;

  a( c );

  // a() 함수 호출 후 c 변수에는 1111값이 들어가게 됩니다.
}

위에 경우도 마찬가지 입니다.

단순히 TStream *VStream 을 인수로 받는데, 그 결과를 다시 리턴받고 싶은 경우에

쓰는 것 입니다.

왜냐면 인수에 선언된 변수들은 자동변수로 취급되기 때문에,

함수가 종료되면 사라져 버리거든요.

new 연산자로 TStream의 메모리를 할당하면 그 메모리 주소가 VStream에 담기는데

함수가 종료되면 그냥 사라져버리고 함수 밖에서는 참조가 안되겠지요...

그래서 참조 연산자가 써있는 것 입니다.

그럼~






redi 님이 쓰신 글 :
: 안녕하세요.
:
: c++와 builder를 처음 배우는 초보자입니다.
:
: 사용중에 모르는게 있어서요.
:
: indy9에서 ftp server를 만드는데, put를 만드는 부분에서 다음과 같은 것이 있어서 무엇인지 궁금해서요.
:
: ....(..... , TStream *&VStream,..)
: {
: ...
: }
:
: 이런형태인데.. *&가 무슨뜻인지 모르겠습니다.
:
: c에서는 못본것 같아서요.
:
: 원하는 것은 VStream에서 들어오면 Stream를 File로 저장하는 것인데요.
:
:
: 저 VStream은 바로 화일로 선언하면 화일에 저장이 되는지. ( VStream = new TFileStream("aa.txt",fmCreate); 로 선언하면 자동으로 저장이 되는지..)
:
: 화일로 저장할 스트림을 하나더 선언해서 넣어야하는지도 궁금합니다.
: ( TFileStream *FStream = new TFileStream("c:\\e.xls", fmCreate);
:   VStream = new .......<-이때는 어떤 stream으로 선언해야하는지..T_T )
:
: 가 궁금합니다.
:
: 고수님들의 손길을 원합니다.
:
: 안녕히계세요.
:
:
:
:

+ -

관련 글 리스트
20896 초보 질문- *&stream 은 뭔가요? redi 723 2002/08/20
20899     Re: *& 포인터 아제나 1362 2002/08/20
20898     Re:초보 질문- *&stream 은 뭔가요? 김동욱 817 2002/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.