|
이터레이터를 사용하면 되는군요.
만해님 이 작성해주신 코드를 사용하니,
원하는 결과가 나오네요
감사 합니다.
강재호.만해 님이 쓰신 글 :
: 안녕하세요 만해입니다.
:
: 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. 정의된 클래스를 동적배열처럼 사용하는 방법이 있나요?
|