티스토리 뷰
C++은 처음 처음 개발된 이후로 참 많은 사람들에 의해서 개발 보완되어왔고, 자바와 같은 강력한 언어의 추격속에서도 아직도 많이 이용하는 언어이다. 자바의 강력함은 기본 제공되는 라이브러리들의 강력함에 있다고 할 수 있다. 데이터를 다루는 컨테이너와 소팅, 검색과 같은 기본적인 기능이 매우 우수하기 때문이라고도 할 수 있다.
그럼 이런 상황에서 우리 C++ 고수들이 가만히 있기야 했으랴! 당연히 이런 자바의 우수함에 비견될만한 강력한 라이브러리를 등장시켰으니 이것이 바로 STL(Standard Template Library)라고 할 수 있다. 처음 등장은 SGI에서 개발해 등장했으나 그 유용함으로 결국 C++의 표준 라이브러리로 올라온 엄청난 녀석이다.
이 녀석을 배우기에 가장 좋은 방법은 자바에서 String 클래스를 배우듯 std::string 클래스를 바로 익히는 식으로 공부하는 것이 가장 좋은 것 같다. 보통의 C++ 교재가 접근하는 bottom-up 방식의 접근이 아니라 top-down 방식의 접근이 필요하다는 말이다. 실제로 Accelerated C++은 이런식의 접근으로 C++을 접근하고, 배울 수 있다는 것을 보여준 좋은 예라고 할 수 있다.
처음 이 책을 보면서 내용을 정리했던 내용이 ZP 위키에 있었는데... 현재는 위키 서버가 날아가면서 그때의 자료를 날려서 결과적으로 아무것도 가진게 없다. -_-;; 결국 책을 보라는 말이다. ㅎㅎ 주의할 것은 STL 을 직접 사용해서 배열을 알려주는 관계로 template 에 관련된 문법을 처음부터 사용하는데 큰 의미를 두지말고 그냥 그대로 이해하고 받아들이는 자세가 필요할 것 같다. 괜히 이건 어떻게 만들어진거지 하면서 STL을 뜯기 시작하면 정말 이 책 보기힘들다고 생각한다.
참고로 보면서 이 STL이라는 것을 접해볼 생각이라면 아래의 사이트로 가보자.
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/STL
그럼 이런 상황에서 우리 C++ 고수들이 가만히 있기야 했으랴! 당연히 이런 자바의 우수함에 비견될만한 강력한 라이브러리를 등장시켰으니 이것이 바로 STL(Standard Template Library)라고 할 수 있다. 처음 등장은 SGI에서 개발해 등장했으나 그 유용함으로 결국 C++의 표준 라이브러리로 올라온 엄청난 녀석이다.
#include <algorithm>자바만큼 단순하지는 않지만 자바의 70%정도는 간결한 소스로 소팅을 작성할 수 있다. 여기에 더해서 자바에서는 하기 힘든 함수 포인터를 이용한 소팅의 자율성까지 갖춘 대단함이 있다.
#include <vector>
#include <string>bool case_eq(char *c1, char *c2)
{
if (strcmp(c1, c2) < 0)
return 1;
else
return 0;
}
int main()
{
vector<int> V;
V.push_back(4);
V.push_back(7);
V.push_back(2);
V.push_back(3);
V.push_back(1);
V.push_back(6);
sort(V.begin(), V.end());
copy(V.begin(), V.end(), ostream_iterator<int>(cout, "\n"));
vector<char *> V2;
V2.push_back("my name");
V2.push_back("hello");
V2.push_back("ma name");
V2.push_back("hael");
sort(V2.begin(), V2.end(), case_eq);
copy(V2.begin(), V2.end(), ostream_iterator<char *>(cout, "\n"));
}
이 녀석을 배우기에 가장 좋은 방법은 자바에서 String 클래스를 배우듯 std::string 클래스를 바로 익히는 식으로 공부하는 것이 가장 좋은 것 같다. 보통의 C++ 교재가 접근하는 bottom-up 방식의 접근이 아니라 top-down 방식의 접근이 필요하다는 말이다. 실제로 Accelerated C++은 이런식의 접근으로 C++을 접근하고, 배울 수 있다는 것을 보여준 좋은 예라고 할 수 있다.
처음 이 책을 보면서 내용을 정리했던 내용이 ZP 위키에 있었는데... 현재는 위키 서버가 날아가면서 그때의 자료를 날려서 결과적으로 아무것도 가진게 없다. -_-;; 결국 책을 보라는 말이다. ㅎㅎ 주의할 것은 STL 을 직접 사용해서 배열을 알려주는 관계로 template 에 관련된 문법을 처음부터 사용하는데 큰 의미를 두지말고 그냥 그대로 이해하고 받아들이는 자세가 필요할 것 같다. 괜히 이건 어떻게 만들어진거지 하면서 STL을 뜯기 시작하면 정말 이 책 보기힘들다고 생각한다.
참고로 보면서 이 STL이라는 것을 접해볼 생각이라면 아래의 사이트로 가보자.
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/STL
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 레포트
- 오라클
- 박영창
- 시간표
- 후기
- Japanimation
- 리눅스
- 실습으로 배우는 Unix System Admin (HPUX)
- 회식
- HPUX
- 오픈 소스 SW와 전략적 활용
- World Of Warcraft
- 과제물
- 영화
- wow
- 모임
- oracle
- 캐논
- hp-ux
- 실전! 업무에 바로 쓰는 SQL 튜닝
- 네트워크
- SSM
- 일기
- 프로그래밍
- 와우
- SQL 튜닝
- 책
- 애니메이션
- 삼성 소프트웨어 멤버십
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함