Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

STL: Difference between revisions

From ZeroWiki
imported>Yggdrasil
No edit summary
(Repair batch-0003 pages from live compare)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Standard Template Library 의 준말.
Standard Template Library 의 준말.


C++ 의 \'표준 템플릿 라이브러리\'(C++ 의 표준이다;)
C++ 의 '표준 템플릿 라이브러리'(C++ 의 표준이다;)


C++ 의 [[GenericProgramming]] 기법인 Template 을 이용, container ([[\"DataStructure\"]] class. 다른 언어에서의 Collection class 들에 해당) 와 algorithm 에 대해 구축해놓은 라이브러리.
C++ 의 [[GenericProgramming]] 기법인 Template 을 이용, container ([[DataStructure]] class. 다른 언어에서의 Collection class 들에 해당) 와 Algorithm|algorithm 에 대해 구축해놓은 라이브러리.
=== 정리 ===
=== 정리 ===
==== container ====
==== container ====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 24: Line 24:
|}
|}


==== algorithm ====
==== algorithm ====
** [[STL/sort]]
* [[STL/sort]]
* [[STL/search]]


** [[STL/search]]
==== 튜토리얼 ====
 
* STL/Tutorial
==== 튜토리얼 ====
* [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm stl 첫배우기] - 바깥고리
** [[STL/Tutorial]]
 
** [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm stl 첫배우기] - 바깥고리
=== 관련 페이지 ===
=== 관련 페이지 ===
* [[STL/remove_copy]] : -
* STL/remove_copy : -
* [[STL/bind2nd]] : -
* STL/bind2nd : -
* [[STL/VectorCapacityAndReserve]] : Vector 의 Capacity 변화 추이
* [[STL/VectorCapacityAndReserve]] : Vector 의 Capacity 변화 추이
* [[STL/Miscellaneous]] : 특별히 위치할 곳이 없는 정보들의 페이지. 쌓여서 분리됩니다.
* [[STL/Miscellaneous]] : 특별히 위치할 곳이 없는 정보들의 페이지. 쌓여서 분리됩니다.
* [[\"STL/vector/CookBook\"]] : vector 요리책(Tutorial)
* [[STL/vector/CookBook]] : vector 요리책(Tutorial)
* [[STL/참고사이트]]
* [[STL/참고사이트]]
==== 바깥고리 ====
==== 바깥고리 ====
** [http://oopsla.snu.ac.kr/~sjjung/stl/ptr_0001.htm 컨테이너에 포인터 저장하기(문제점과 해결책)]
* [http://oopsla.snu.ac.kr/~sjjung/stl/ptr_0001.htm 컨테이너에 포인터 저장하기(문제점과 해결책)]
* [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm]
* [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm]
* [http://www.sgi.com/tech/stl/ Standard Template Library Programmer\'s Guide]
* [http://www.sgi.com/tech/stl/ Standard Template Library Programmer's Guide]
=== 관련 프로젝트 페이지 ===
=== 관련 프로젝트 페이지 ===
* [[\"UseSTL\"]] : [[\"neocoin\"]] 의 프로젝트 페이지
* [[UseSTL]] : neocoin 의 프로젝트 페이지
* [[\"EffectiveSTL\"]]  
* [[EffectiveSTL]]  
----
----
  Contributors : [\"[[Lovely]]boy^_^\"], NeoCoin
  Contributors : [[[Lovely]boy^_^]], NeoCoin


  See Also [[\"Boost\"]], [[\"EffectiveSTL\"]], [[\"GenericProgramming\"]], [[\"AcceleratedC++\"]]
  See Also [[Boost]], [[EffectiveSTL]], [[GenericProgramming]], [[AcceleratedC++]]
----
----


=== Thread ===
=== Thread ===
앞으로 C++ 을 이용하는 사람중 STL 을 접해본 사람과 STL을 접해보지 않은 사람들의 차이가 어떻게 될까 한번 상상해보며. (Collection class 를 기본내장한 C++ 의 개념 이상.. 특히 STL 를 접하면서 사람들이  [[GenericProgramming]] 기법에 대해 익숙하게 이용할 것이라는 생각을 해본다면 더더욱.) --[[\"1002\"]]
앞으로 C++ 을 이용하는 사람중 STL 을 접해본 사람과 STL을 접해보지 않은 사람들의 차이가 어떻게 될까 한번 상상해보며. (Collection class 를 기본내장한 C++ 의 개념 이상.. 특히 STL 를 접하면서 사람들이  [[GenericProgramming]] 기법에 대해 익숙하게 이용할 것이라는 생각을 해본다면 더더욱.) --[[1002]]


이제 컴퓨터의 속도가 빨라진 지금, C++을 느낄려면 STL을 써서 프로그래밍 해야 Compiled language 라는 느낌을 받을수 있다. --[[\"상민\"]]
이제 컴퓨터의 속도가 빨라진 지금, C++을 느낄려면 STL을 써서 프로그래밍 해야 Compiled language 라는 느낌을 받을수 있다. --[[상민]]


한 차레의 피바람이 불어 이 페이지가 태어나다.. --[[\"neocoin\"]]
한 차레의 피바람이 불어 이 페이지가 태어나다.. --neocoin
   그렇죠.--; --[[\"인수\"]]
   그렇죠.--; --[[인수]]
   피바람? --[[\"snowflower\"]]
   피바람? --[[snowflower]]
     DeleteMe) 인수가 가진 모든 STL 페이지 [[\"Refactoring\"]] (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 [[\"인수\"]]의 모든 STL 페이지 사라짐(피바람);;
     DeleteMe) 인수가 가진 모든 STL 페이지 Refactoring (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 [[인수]]의 모든 STL 페이지 사라짐(피바람);;
     [[\"EffectiveSTL\"]] 외부로 빼기([[\"인수\"]]가 했음) --[[\"neocoin\"]]
     [[EffectiveSTL]] 외부로 빼기([[인수]]가 했음) --neocoin


[[STL]]과 같은 라이브러리를 직접 만들어보는것도 (프로젝트 형식으로 해서) 좋을 것 같네요. [[GenericProgramming]] 의 철학을 이해하는 데에 도움이 될 것 같고 그 안에 녹아있는 자료구조와 알고리즘을 체득할 수 있을 것 같습니다. - [[임인택]]
[[STL]]과 같은 라이브러리를 직접 만들어보는것도 (프로젝트 형식으로 해서) 좋을 것 같네요. [[GenericProgramming]] 의 철학을 이해하는 데에 도움이 될 것 같고 그 안에 녹아있는 자료구조와 알고리즘을 체득할 수 있을 것 같습니다. - [[임인택]]


\"[[STL]] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다.\" 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [[이승한]]
"[[STL]] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [[이승한]]
   \"사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다\" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
   "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
----
----
[[\"도구분류\"]]
[[도구분류]]
 

Latest revision as of 00:29, 27 March 2026

Standard Template Library 의 준말.

C++ 의 '표준 템플릿 라이브러리'(C++ 의 표준이다;)

C++ 의 GenericProgramming 기법인 Template 을 이용, container (DataStructure class. 다른 언어에서의 Collection class 들에 해당) 와 Algorithm|algorithm 에 대해 구축해놓은 라이브러리.

정리

container

STL/vector 배열을 대체할수 있는 자료구조
STL/list 만들기 까다로운 더블 링크드 리스트를 제공해준다.
STL/set 집합을 구현한 자료구조
STL/map dictionary 자료구조를 구현하였다
STL/string 문자열을 다루는 자료구조

algorithm

튜토리얼

관련 페이지

바깥고리

관련 프로젝트 페이지


Contributors : [Lovely]boy^_^, NeoCoin
See Also Boost, EffectiveSTL, GenericProgramming, AcceleratedC++

Thread

앞으로 C++ 을 이용하는 사람중 STL 을 접해본 사람과 STL을 접해보지 않은 사람들의 차이가 어떻게 될까 한번 상상해보며. (Collection class 를 기본내장한 C++ 의 개념 이상.. 특히 STL 를 접하면서 사람들이 GenericProgramming 기법에 대해 익숙하게 이용할 것이라는 생각을 해본다면 더더욱.) --1002

이제 컴퓨터의 속도가 빨라진 지금, C++을 느낄려면 STL을 써서 프로그래밍 해야 Compiled language 라는 느낌을 받을수 있다. --상민

한 차레의 피바람이 불어 이 페이지가 태어나다.. --neocoin

 그렇죠.--; --인수
  피바람? --snowflower
   DeleteMe) 인수가 가진 모든 STL 페이지 Refactoring (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 인수의 모든 STL 페이지 사라짐(피바람);;
    EffectiveSTL 외부로 빼기(인수가 했음) --neocoin

STL과 같은 라이브러리를 직접 만들어보는것도 (프로젝트 형식으로 해서) 좋을 것 같네요. GenericProgramming 의 철학을 이해하는 데에 도움이 될 것 같고 그 안에 녹아있는 자료구조와 알고리즘을 체득할 수 있을 것 같습니다. - 임인택

"STL 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - 이승한

  "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]

도구분류