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
[59111] 감사 합니다.
뽀뽀중 [kissjung] 865 읽음    2009-11-15 10:55
이터레이터를 사용하면 되는군요.

만해님 이 작성해주신 코드를 사용하니,
원하는 결과가 나오네요

감사 합니다.


강재호.만해 님이 쓰신 글 :
: 안녕하세요 만해입니다.
:
: list는 vector와 같이 get이나 [] 오퍼레이터를 지원하지 않기 때문에 이터레이터를 이용 해야 합니다.
:
: 밑의 소스를 참고 하세요
:
: //---------------------------------------------------------------------------
: #include <list>
: #include <vector>
: #include <iostream>
: using namespace std;
: #pragma hdrstop
:
: #include <tchar.h>
: //---------------------------------------------------------------------------
: class RasGeoData {
:
:  public:
:     int JungChainNo;             //채인넘버
:     double PlusChainNo;          //추가채인넘버
:     int StationEa;               //측점 수
:     double BankLeft, BankRight;  //뱅크 스테이션 X,y좌표
:     vector<double> StationX;     // X좌표
:     vector<double> StationZ;     // Y좌표
:
:  private:
:
: };
: #pragma argsused
: int _tmain(int argc, _TCHAR* argv[])
: {
:     list<RasGeoData> RasList;
:
:     for (int i = 0; i < 10; i++)
:     {
:     RasGeoData RasData;
:     RasData.StationEa = i;
:     RasList.push_back(RasData);
:     }
:
:     list<RasGeoData>::iterator itr_end = RasList.end();
:     for ( list<RasGeoData>::iterator itr = RasList.begin(); itr != itr_end ; itr ++ )
:     {
:         RasGeoData data = *itr;
:         cout << data.StationEa << endl;
:     } // 순방향
:
:     list<RasGeoData>::reverse_iterator ritr_end = RasList.rend();
:     for ( list<RasGeoData>::reverse_iterator ritr = RasList.rbegin(); ritr != ritr_end ; ritr ++ )
:     {
:         RasGeoData data = *ritr;
:         cout << data.StationEa << endl;
:     }// 역방향
:     return 0;
: }
:
:
:
: 뽀뽀중 님이 쓰신 글 :
: : 여러 자료형을 하나의 단위라서  클래스를 만들었습니다.
: :
: : class RasGeoData {
: :
: : public:
: :     int JungChainNo;             //채인넘버
: :     double PlusChainNo;          //추가채인넘버
: :     int StationEa;               //측점 수
: :     double BankLeft, BankRight;  //뱅크 스테이션 X,y좌표
: :     vector<double> StationX;     // X좌표
: :     vector<double> StationZ;     // Y좌표
: :
: : private:
: :
: : };
: :
: :
: : 단위묶음(class)을 자료의 중간위치에서 삭제할수 있기에 list 로 하였습니다.
: :
: :
: : list<RasGeoData> RasData;
: : RasGeoData RasGeoDataInput;
: :
: : RasGeoDataInput.JungChainNo = data1;
: : RasGeoDataInput.PlusChainNo = data2;
: : RasGeoDataInput.StationEa = data3;  //로 원하는 단위묶음 데이터 대입
: : (생략)
: : .
: : .
: : .
: : .
: :
: : RasData.push_back(RasGeoDataInput);
: :
: : 이렇게 list 에 넣었는데, 데이터를 추출하여 다른 변수에 대입하려면 어떻게 해야 하나요?
: : 다시말하면,
: :
: : 위와 같은 방법으로 list 에 저장한 데이터를
: : 어떻게  추출 해야 하나요?
: :
: : 책보고 열심히 따라하고 있는데, 예제 소스 코드가 없으니 막막 하기만 합니다.
: :
: :
: : PS.  정의된 클래스를 동적배열처럼 사용하는 방법이 있나요?

+ -

관련 글 리스트
59106 STL의 list 함수를 사용하여 데이터를 저장 했는데, 출력은 어떻게 하나요? 뽀뽀중 1162 2009/11/14
59107     Re:STL의 list 함수를 사용하여 데이터를 저장 했는데, 출력은 어떻게 하나요? 강재호.만해 1323 2009/11/15
59111         감사 합니다. 뽀뽀중 865 2009/11/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.