STL의 set, multiset사용할 때 궁금한점
class vertex
{
public:
vertex(): m_Pnt(0.0F, 0.0F){}
vertex(const vertex& v):m_Pnt(v.m_Pnt){}
vertex(const PointF& pnt):m_Pnt(pnt){}
vertex(REAL x, REAL y):m_Pnt(x, y){}
vertex(int x, int y):m_Pnt((REAL) x,(REAL) y){}
bool operator<(const vertex& v) const
{
if (m_Pnt.X == v.m_Pnt.X) return m_Pnt.Y < v.m_Pnt.Y;
return m_Pnt.X < v.m_Pnt.X;
}
bool operator==(const vertex& v) const
{
return m_Pnt.X == v.m_Pnt.X && m_Pnt.Y == v.m_Pnt.Y;
}
REAL GetX() const { return m_Pnt.X; }
REAL GetY() const { return m_Pnt.Y; }
void SetX(REAL x) { m_Pnt.X = x; }
void SetY(REAL y) { m_Pnt.Y = y; }
const PointF& GetPoint() const{ return m_Pnt; }
protected:
PointF m_Pnt;
};
으로 클래스 정의 하고요..
typedef set vertexSet;
을 선언하고 메인에서 사용하려고 합니다.
============ 아래 메인 ===============
main(){
vertexSet m_Vertices;
위처럼 선언하고
for(int i=0; i<(int)vCvMat.size(); i++)
{
float x = vCvMat[i].x;
float y = vCvMat[i].y;
int index = (int) y + (int) x;
//cvCircle(dimg, cvPoint((int)x, (int)y), 1, CV_RGB(255, 255, 0), 2);
ptr->m_Vertices.insert(vertex(x, y));
}
}
============ 여기까지 ================
위처럼 데이터를 넣은 다음에 set에 들어있는 데이터에 접근하려면 어떻게 해야하나요??
vector쓰듯이 쓰는 것도 안되고..
이해가 잘 안되네요...
set의 각 요소에는
set의 각 요소에는 반복자로 접근하면 됩니다.
반복자라 하심은
반복자라 하심은 iterator 말씀이신가요?
맞습니다.
맞습니다.
감사합니다.
ㅎㅎ
댓글 달기