whwotjd9090   2년 전

string을 예로 들자면

string::iterator iter;

for(iter = data.begin(); iter != data.end(); iter++)

{

    *iter사용;

}

이것과

for(int i=0; i<data.length(); i++)

{

    data.at(i);

}

이렇게 쓰는 것이랑 차이가 뭔가요?

joonas   2년 전

STL은 링크드리스트로 알고있어요. 그래서 str.at( index ) 또는 str[ index ] 를 하면 헤드부터 해당 인덱스까지 노드를 따라가겠죠?ㅎㅎ iterator는 포인터를 이동시키는 개념이구요

whwotjd9090   2년 전

STL은 링크드 리스트가 아니고 Standard Template Library의 약자로 라이브러리 집약체 아닌가요?

컨테이너 계열과 알고리즘, 이터레이터의 계열들이 모여있으며

list, queue, stack, string 등등 다양한 걸로 알고 있습니다.

제가 궁금한 것은

제가 올린 질문 소스 2개의 속도 차이라던지 뭐 그런게 궁금하군요

joonas   2년 전

정확히는 STL에서 제공하는 클래스 중 여러개는 링크드리스트에 기반한 걸로 알고있다고 말씀드리고 싶었습니다 ㅎㅎ (정확한 구현사항은 잘 모르지만)

속도 차이는 몇억개가 아닌이상 차이 없을거같네요.

STL에 대해 궁금하시면 참고해보세요.

http://www.hanbit.co.kr/network/view.html?bi_id=16...

whwotjd9090   2년 전

감사합니다 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.