[ 배열 넘기기 ]
INT m_nStopReelIndex[STOP_COUNT];
INT* GetStopReelIndex() { return m_nStopReelIndex; }
INT* m_nIndex = m_cReel.GetStopReelIndex();
INT m_nStopReelIndex[STOP_COUNT];
INT* GetStopReelIndex() { return m_nStopReelIndex; }
INT* m_nIndex = m_cReel.GetStopReelIndex();
==================================================================================
INT* Function() { return nPiece }
#define STOP_COUNT 5
class cReel
{
INT m_nStopReelIndex[STOP_COUNT];
public:
cReel() { for( INT i = 0; i = STOP_COUNT; i++ ) m_nStopReelIndex[i]; }
~cReel() {}
INT* GetStopReelIndex() { return m_nStopReelIndex; }
}
class cEvent
{
{
cReel m_cReel;
INT* m_nIndex;
public:
cEvent() {}
~cEvent() {}
VOID SetTrace() { m_nIndex = m_cReel.GetStopReelIndex(); }
}
VOID MAIN()
{
cEvent Event;
Event.SetTrace();
}
// 배열의 이름을 넘긴다.
// 배열의 처음부터 마지막까지 넘어간다. ( 배열 뒤에 Index는 다음 주소를 가르키는 것이기에 차례로 넘기는 것이다. )
// 주의할 점은 1차원배열을 넘긴다면 포인터로 받아야 한다는 점이다. 즉, 그 배열의 길이는 따로 관리해야 하며, 포인터로 넘겨 받은 변수는 곧 배열과 같다.
// 주의할 점은 2차원 배열 이상을 넘긴다면 1차원으로 넘어간다는 점이다. EX : nPiece[2][3] 를 INT* Function() 으로 넘긴다면, nPiece[6]으로 받아 온다.
- 배열을 다른 클래스나 함수, 메소드로 넘길 때 사용.
- 배열을 다른 클래스나 함수, 메소드로 넘길 때 사용.
- 배열의 이름을 넘기면 그 뒤에 배열의 Indx 주소가 차례로 넘어 가는 구조.
- 주의할 점은 2차원 이상의 배열 리턴시 1차원으로 넘어간다는 점. 1차원 배열 리턴시 포인터로 받아야 한다는 점.
'[ Programing ] > C++' 카테고리의 다른 글
[표현식 유무 판단] ASSERT(); (0) | 2010.01.31 |
---|---|
atexit() 로 종료 전 동작을 예약하자. (0) | 2010.01.31 |
[메모리 누수 발견] INIT_CRTDEBUG(); BREAK_ALLOC( INT ); (0) | 2010.01.31 |
[ Dynamic_cast< class object*>() ] 애매한 동적캐스트에 대한 정의. (0) | 2010.01.31 |
[ 콘솔 창 설정 ] AllocConsole(); freopen( "CONOUT$", "wt", stdout ); (0) | 2010.01.31 |