2011-11-30 3 views

답변

3

STL 컨테이너는 포인터 대신 반복자를 사용합니다. 연결된 목록의 요소를 가리키는 반복자가있는 경우 요소의 데이터에 액세스하고 목록의 insert method을 사용하여 반복자의 위치에 삽입하고 erase method을 사용하여 반복자의 위치에서 삭제할 수 있습니다.

+0

반복기를 "합성"하여 함수의 경계로 사용할 수 있습니까? –

+1

@ blacklemon67 : 당신이 깨진 열차로 멀리 떨어진 곳에 있음을 거의 보장합니다. 약간의 문제를 해결하고 컨테이너에 대한 반복기 기반 인터페이스로 프로그램을 디자인하면 거의 확실한 해결책이 될 것입니다. –

+0

@ blacklemon67 : 왜 진짜 반복자가있을 때 합성하나요? –

1

STL 연결 목록을 사용하는 대신 포인터를 사용하여 고유 한 연결된 목록 구현을 정의 할 수 있습니다. 예 :

template <class E> 
struct Node { 
    E data; 
    Node * next; 
}; 

따라서 링크 된 목록의 요소가 될 Node 클래스를 정의하십시오. Kerrek SB가 제안했듯이, 이터레이터를 염두에두고 프로그램을 재 설계하는 것이 장기적으로 더 빠르고 더 쉬울 수도 있습니다.

관련 문제