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
[22674] Re:Re:Re:빌더6에는 STLport가 포함되어 있습니다.
김백일 [cedar] 1108 읽음    2002-11-17 19:05
배현수 님이 쓰신 글 :
: 김백일 님이 쓰신 글 :
: .
: .
: : 참고: ANSI C++ 표준 STL에는 애석하게도 해쉬가 들어있지 않지만,
: : STLport와 같은 최근의 STL 배포본에는 hash_set, hash_map 등이 포함되어 있습니다.
: .
: .
:
: # 전에도 메모 컴포넌트 관련해서 님한테 도움을 받았던 기억이 있네요..^^
:
: 저두 어렴풋 하게나마 해쉬함수에 대해 알고 있었습니다.
:
: 예전에 C 시절에는 그런 함수를 직접 만들어 사용하거나
: 여러가지 해쉬 함수중에 선택해서 사용하는 걸로 알고 있었습니다.
:
: 그런데 자바로 프로그래밍 하는 이들은 자바에서 제공하는 해쉬 함수를 쓴다더군요.
:
: 빌더에서도 그런 함수를 제공하는지
:
: (질문이 좀 그런가요)
:
: 아님 빌더에서 기반으로 하는 bc++ 에서 그런 함수를 제공하는지 알고 싶습니다.
:
: 그럼 즐프하세요..

C++빌더/델파이 특유의 라이브러리인 VCL/CLX에는 6버전부터
THashedStringList란 클래스가 있습니다만,
이것은 AnsiString만 저장할 수 있다는 단점이 있습니다.

임의의 자료구조를 저장하려면 STL에서 지원하는 해쉬 테이블을 써야 합니다.
그런데 현재의 ANSI C++에 규정된 STL에는 해쉬 테이블이 포함되어 있지 않습니다.
이런 문제점을 해결하기 위해, 최근의 STL 배포본중 상당수는 해쉬 테이블을
포함하고 있습니다. 컨테이너의 이름도 거의 "de facto(사실상?)" 표준으로 굳어져 있습니다.
이진 트리 컨테이너인 set, map, multiset, multimap에 대응하는
해쉬 테이블 컨테이너는 hash_set, hash_map, hash_multiset, hash_multimap 입니다.
(앞으로 개정할 ANSI C++ 표준에는 포함될 가능성이 거의 100%입니다.)

빌더6에 포함된 STL은 STLport입니다.
http://www.stlport.org/
STLport는 가장 널리 사용되는 STL인 sgi의 STL을
http://www.sgi.com/tech/stl/
수십가지의 다양한 컴파일러에 이식할 수 있게 만든 인기있는 배포본입니다.

sgi STL의 해쉬에 대한 자료는 다음 링크를 참고하세요.
http://www.sgi.com/tech/stl/hash.html
http://www.sgi.com/tech/stl/hash_set.html
http://www.sgi.com/tech/stl/hash_map.html

자바에도 Hashtable을 비롯한 각종 컨테이너 클래스가 있지만,
자바는 템플릿과 같은 generic programming을 지원하지 않기 때문에,
C++/STL보다 훨씬 불편하고 허접합니다.

+ -

관련 글 리스트
22654 해싱의 용도(?) 권기식 680 2002/11/15
22655     Re:해싱의 용도(!) 김백일 1170 2002/11/15
22671         Re:Re:빌더에도 해쉬 함수가 있나요..? 배현수 865 2002/11/17
22674             Re:Re:Re:빌더6에는 STLport가 포함되어 있습니다. 김백일 1108 2002/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.