Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ FAQ
[6] STL을 공부하려면 먼저 어떤 내용을 알아두어야 하나요?
김백일 [cedar] 27860 읽음    2002-09-11 00:19
Q)
게시판을 통해서 STL이란 것에 대해서 알았습니다.
근데 STL이란걸 공부하기전에 먼저 알아두어야할 것은 무엇인가요?

A)
일단은 98년 이후의 ANSI C++ 표준을 정확히 반영한
C++ 책을 끝까지 보시는게 좋습니다.
특히 템플릿에 대해서는 확실하게 이해하셔야 합니다.
다만, 상속과 가상 함수는 STL에서 원칙적으로는 쓰지 않으므로
확실히 이해하실 필요는 없습니다.
(사실 STL은 객체지향과는 거리가 멉니다.)

자료구조(data structure)에 대해서도 어느 정도의 이해가 선행되어야 합니다.
(연결) 리스트, 덱, 스택, 큐, 우선순위 큐, 트리, 해쉬 테이블, 힙이란 무엇이며,
그 특성과 장단점이 무엇인지 정도는 알아야 합니다.
(C나 C++로 어떻게 구현하는 가는 몰라도 됩니다.)
또한 적어도 Big O Notation이 무엇인가도 알아두어야 합니다.
O(N), O(log N), O(N log N), O(N^2) 등등의 의미를 말이죠.

필수적인 것은 아니지만, 수학적인 배경 지식이 있으면
STL을 더 쉽게 이해하실 수 있습니다.
STL의 핵심 사상은 'Generic Programming(일반화 프로그래밍?)'이란 것으로,
추상 대수(abstract algebra)의 개념에서 나온 것입니다.

예를 들어, STL의 3대 구성 요소중의 하나인 반복자(iterator)의 분류 방식은,
추상대수에서 말하는 군(群, group), 환(環, ring), 체(體, field)에서 나온 것입니다.
수학자들이 다양한 추상 이론들을 바탕으로 정리(theorem)를 구성해 내는 것과 마찬가지로,
제네릭 프로그래밍은 여러가지 추상 개념으로부터 알고리듬(algorithm)을 구성한 것입니다.

+ -

관련 글 리스트
6 STL을 공부하려면 먼저 어떤 내용을 알아두어야 하나요? 김백일 27860 2002/09/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.