|
간단하게 생각하세요.
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 )
:
: 가 궁금합니다.
:
: 고수님들의 손길을 원합니다.
:
: 안녕히계세요.
:
:
:
:
|