- STLPort . . . . 46 matches
표준 STL 규격에 맞춰 STLPort 회사가 만든 표준템플릿 STL(Standard Template Language) 오픈소스로써 SGI STL에 기반하고 있음.
http://www.kwak101.pe.kr/wiki/wiki.php/STLport_VC%BC%B3%C4%A1
본 문서는 Win32 환경에서 Visual C++ 를 사용하시는 분들이 STLport의 STL 라이브러리를 설치하여 사용하는데 도움을 주기 위하여 작성되었습니다. 가장 최소한의 설치 과정만을 싣는데 초점을 두었으며, Visual C++ 6 이하의 버전에서는 테스트하지 않았음을 미리 알려 드립니다. 기타 세세한 정보는 외부 자료 문서화 페이지 혹은 게시판에서 얻고, 나누어 주시기 바랍니다. 감사합니다.
STLport 라이브러리는 SGI(실리콘 그래픽스)의 STL을 여러 가지 운영체제 및 개발 도구에서 쓸 수 있도록 포팅한 것으로, ANSI 표준안을 충실히 따르고 있으며 이외의 비표준 라이브러리도 충실히 구비해 놓고 있는 공개 라이브러리입니다. 게다가 몇가지 장점이 더 붙어 있습니다.
1. STLport 패키지의 압축 파일을 받습니다. 현재의 최신 안정화 릴리즈는 4.6.2 (STLport-4.6.2.tar.gz)입니다.
http://www.stlport.org/download.html
* '''lib''' : 컴파일된 STLport 재사용 바이너리(lib, dll)가 들어가는 디렉토리. (처음엔 없다가 나중에 생길겁니다.)
* '''stlport''' : STL 헤더와 바이너리 소스가 들어 있는 디렉토리. STLport 라이브러리의 몸통입니다.
* '''test''' : STLport가 설치된 후 제대로 설치되었나 확인하기 위한 테스트 프로그램 소스.
STLport 버전의 입출력 라이브러리를 만드는 과정입니다.알려진 바에 의하면, VC++에 들어 있는 기본(stock) 입출력스트림 라이브러리보다 이것이 더 성능이 좋고 안정적이라고 하지요.
* 메이크 파일을 읽으면, 아래와 같은 대화 상자가 나와 "프로젝트를 만들겠냐고 물어 보는데, 당연히 [예] 하시고, 적당한 이름(예: STLP_vc6)을 짓죠. 프로젝트 파일인 .dsp와 .dsw가 만들어 지면서 재사용 바이너리를 빌드할 수 있게 됩니다.
1. 재사용 바이너리는 STLport 패키지에 있는 표준 C++ 헤더를 사용하여 빌드되므로, VC++이 이 헤더를 가장 먼저 참조할 수 있도록 해야 합니다. 따라서 이 짓을 해 줍시다.
* Tools 메뉴 > Options 항목 > Directories 탭에서, Include Files 목록에 stlport 디렉토리를 추가하고 나서 이것을 첫 줄로 올립니다.
이때, stlport\new 헤더 파일의 2줄에서 에러를 일으키는 경우가 있는데요, 네임스페이스 std::를 붙여 주도록 합시다. (아래의 그림에서 if 다음의 2줄입니다)
Upload:5-STLport_Lib.GIF
* 기본적으로 만들어지는 라이브러리는 총 6개입니다. 이중 "stldebug"란 문자열이 들어 있는 라이브러리는 STLport 전용의 디버그 기능이 함께 들어 있는 버전입니다. 사용방법은 아래의 "디버그 기능 사용하기"에서 보십시오.
이 절의 설명과 이후의 설명을 모두 건너 뛰시고, '''stlport''' 폴더 전체를 VC++ 폴더의 /include 폴더에 복사하십시오. 그리고 "프로그램 관련 세팅" 절부터 읽으시면 됩니다. 단, 라이브러리 관련 부분은 관련이 없습니다.
= STLport 완전히 설치하기 =
만들어진 STLport의 재사용 바이너리와 표준 헤더를 비주얼 스튜디오에서 쓸 수 있도록 해주는 과정입니다.
1. DOS 창을 열고, STLport 패키지가 풀린 위치를 기준으로 src 디렉토리(위에서 확인하셨죠?)를 찾아 갑니다.
- STLErrorDecryptor . . . . 37 matches
본 문서는 [http://www.kwak101.pe.kr/kwak101/works/InternData/STLDecryptor_QuickGuide.html QuickInstallation For STLErrorDecryptor] 의 '''내용을 백업하기 위한 목적'''으로 만든 페이지입니다. 따라서 원 홈페이지의 자료가 사라지지 않은 이상 가능하면 원 홈페이지에서 글을 읽으셨으면 합니다.
VC++를 가지고 STL 프로그래밍을 하시는 분들이 가장 많이 느끼는 불편함(어느 플랫폼이나 마찬가지이지만)중 하나가 바로 "'''에러 메시지에 나타나는 STL 컴포넌트가 무엇인지 도통 모르겠다'''"라는 점일 겁니다. 이는 컴파일러가 STL 템플릿을 인스턴스화할 때 타입 매개 변수가 모두 포함된 상태로 전체 이름을 써 버리기 때문에 STL 책에 나오지도 않는 클래스 이름과 템플릿 이름 등이 마구 튀어나옴은 물론이거니와, 인스턴스화한 클래스 이름 자체가 엄청나게 길어져서, 코드 한 줄에 대한 에러 메시지가 수십 여 줄까지 만들어지는 현상이 일어나지요.
이러한 현상은 이펙티브 STL의 항목 49에서도 다루어진 이야기입니다. 원저자는 "많이 읽어서 익숙해져라"라는 결론을 내리고 있지만, 이 문제를 도구적으로 해결한 방법도 있다는 언급도 하고 있었죠. 여기서 이야기하는 [http://www.bdsoft.com/tools/stlfilt.html STL 에러 해독기](이하 해독기)가 바로 그것입니다. 이 도구는 VC 컴파일러가 출력하는 에러 메시지를 가로채어 STL에 관련된 부분을 적절하게 필터링해 줍니다.
= STL 에러 해독기의 작동 원리 =
* 해독기 패키지에 포함된 에러 필터 스크립트(STLfilt.pl)가 사용가능 함
* 펄 스크립트 인터프리터(PERL.EXE)를 실행하고, 에러 필터 스크립트(STLfilt.pl)를 띄움
* STL 에러 해독기 패키지 (Win32용) : STLfilt.zip이란 이름을 가지고 있습니다 (http://ww.bdsoft.com/tools/stlfilt.html)
* MSVCP60.DLL : STL 에러 해독기의 컨트롤러가 사용하는 DLL입니다 (옵션).
다) 만만해 보이는 디렉토리에다가 STLfilt.zip의 압축을 풉니다. (저는 H:\STLfilt 란 디렉토리에 압축을 풀었습니다.)
* STLTask.EXE : 해독기의 필터링 기능을 토글하는 컨트롤러로, 윈도우 작업표시줄(TaskBar)에 위치하게 됩니다.
* '''STLfilt.pl : 컴파일러의 출력 결과를 필터링 해주는 펄 스크립트.이 파일의 위치를 잘 기억해두세요.'''
다) 이젠 프록시 CL의 동작에 필요한 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석문을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
* FILTER_SCRIPT : 필터링 펄 스크립트(STLfilt.zip)의 전체 경로. 반드시 파일 이름까지 써 주어야 합니다.
* TOGGLE_FILE : 필터링 활성화를 토글링하는 파일이 위치할 디렉토리. 생각할 시간 없는 분은 STLfilt.zip의 압축을 푼 위치로 정해주세요.
마) 이제, STLfilt.zip의 압축을 푼 디렉토리에서 프록시 CL을 복사해서 VC의 \bin 디렉토리에 붙입니다.
프록시 CL의 에러 필터링을 활성화하거나 비활성화하는 역할을 맡은 프로그램인 STLtask.exe를 실행시켜 태스크바에 띄우는 과정입니다.
가) STLfilt.zip의 압축을 푼 디렉토리에서 STLtask.exe를 실행합니다. 별 문제가 없으면 아래와 같은 대화 상자가 뜹니다.
Upload:STLTaskFirstRun.gif
''참고) 대화 상자의 상단을 보면 "CL.EXE를 CL.STL로 복사했다"란 메시지가 보이는데, 이는 프록시 CL도 백업용으로 하나 복사해 둔다는 뜻이니 괘념치 않아도 됩니다. ''
Upload:STLTaskMenu.gif
- MoreEffectiveC++/Miscellany . . . . 36 matches
* '''일반적인 목적의 컨테이너와 알고리즘에 대한 지원'''. 표준 C++ 라이브러리에 포함되어 있는 클래스, 함수 템플릿은 Standard Template Library(STL)로 알려져 있다. STL은 표준 C++ 라이브러리의 가장 혁명적인 부분이다. 나는 밑에 이것의 특징을 요약한다.
내가 STL을 언급하기 전에, 나는 반드시 당신이 알기에 필요한 C++ 라이브러리의 두가지의 특징을 이야기 해야한다.
string 형의 디자인에 반영된 이러한 접근은-템플릿의 일반화- 표준 C++ 라이브러리를 통해서 반복되어 진다. IOStream? 그들은 템플릿이다.; 인자(type parameter)는 스트림에서 만들어지는 문자형으로 정의되어 있다. 복잡한 숫자(Complex number)? 역시 템플릿이다.;인자(type parameter)는 숫자를 어떻게 저장할지 정의되어 있다. Valarray? 템플릿이다.;인자(type parameter)는 각 배열에 최적화된다. 그리고 STL은 거의 모든 템플릿의 복합체이다. 만약 당신이 템플릿에 익숙하지 않다면, 지금 한발작 내디뎌 보아라.
표준 C++ 라이브러리에서 가장 큰 뉴스는 Standard Template Library(표준 템플릿 라이브러리)인 STL이다. (C++ 라이브러리에서 거의 모든것이 템플릿이 된이후 그 이름 STL은 이제 특별한것이 아니다. 그럼에도, 이것은 라이브러리의 알고리즘과 컨테이너의 부분의 이름이다. 그래서 쓰기에 좋은 이름이기도, 나쁜 이름이기도 한다.)
STL은 많은 조직-거의 모든 C++라이브러리-에 영향을 미치는 것 같다. 그래서 그것의 일반적인 개념과 친해지는 것은 매우 중요하다. 그들은 이해하기는 어렵지 않다. STL은 세가지의 기본적인 개념에 기반하고 있다.: container, iterator, algorithm. Container는 객체의 모음(collection)이다. Iterator는 STL 컨테이너에서 당신이 built-in 형의 인자들을 포인터로 조정하는 것처럼 객체를 가리킨다. Algorithm은 STL container와 iterator를 사용해서 그들의 일을 돕는데 사용하는 함수이다.
배열을 위한 C++(그리고 C)의 규칙을 기억하는 것이 STl을 전체적으로 바라보는데 가장 선행되어야 할 작업이다. 우리가 알아야 할것은 정말 오직 하나의 규칙이다.:배열을 가리키는 포인터는 합법적으로 배열상의 어떠한 인자나 배열의 끝을 넘어 어떠한 인자라도 가리킬수 있다. 만약 포인터가 배열의 끝을 넘은 인자를 가리킨다면, 그것은 배열을 가리키는 다른 포인터와 비교 되어지는 셈이다.; 결과적으로 정의되지 않은 dereferencing을 수행하는 것이다.
솔찍히 이것은 아마 당신이 찾기 함수(find function)를 작성한 방법이 아니다. 그렇지만 결코 멍청한 것이 아니고, 그것은 매우 훌륭히 일반화 된다. 당신이 이와 같은 간단한 예제를 따르면, STL에서 찾을수 있는 대다수의 생각들을 가지고 있는거다.
이것이 STL iterator 뒤에 숨겨진 개념이다. Iterator는 STL container가 사용하기 위하여 pointer 비슷하게 설계된 객체이다. 그들은 Item 28의 스마트 포인터의 사촌격인 셈이다. 그렇지만 스마트 포인터는 STL의 iterator가 하는 것에 비하여 조금더 모호한 경향이 있다. 그렇지만 기술적 관점에서 그들은 같은 기술을 이용해서 구현된다.
축하한다! 당신은 Standard Template Library의 한 부분을 작성한 것이다. STL은 container와 iterator를 이용하는 알고리즘 묶음을 포함하고 있다. 그리고 find는 그들중에 하나이다.
STL에서 container는 bitset, vector, list, deque, queue, priority_queue, stack, set, map 포함한다. 그리고 당신은 이러한 어떤 container 형을 find에 적용할수 있다.
// STL list객체를 생성한다.
list 객체를 찾기 위한 호출을 위해서, 당신은 list의 가장 처음 인자와 list와 가장 마지막의 인자를 가리키는 iterator가 필요하다. 리크트 클래스에 의한 몇가지의 도움 될 기능들을 제외하고, 이것은 어려운 문제이다. 왜냐하면 당신은 list가 어떻게 구현되었는 가에 관한 정보가 없기 때문이다. 다행 스럽게다 리스크(list,모든 STL의 container들과 같이) 시작과 끝을 제공하는 멤버 함수로서 해결한다. 이 멤버 함수는 당신이 원하는 iterator 반환하고 위의 예제에서 해당 iterator 두가지를 찾을수 있다.
찾기(find)가 끝났으면 그것은 찾은 인자를 가리키는, 혹은 charList.end()(찾지 못하였을때)의 iterator 객체를 반환한다. 왜냐하면 당신은 list가 어떻게 구현되었는가에 대하여 아무것도 알수 없기때문에 역시 구현된 list에서 iterator가 어떻게 되었는지 전혀 알수 없다. 그런데 어떻게 찾고서 반환되어지는 객체의 형을 알수 있을까? 다시, list 클래스는 모든 STL container와 마찬가지로 제한 해제를 한다.: 그것은 형 정의, iterator, 즉 list내부의 iterator의 정의를 제공한다. charList 가 char의 list가 된 이후로 iterator의 정의는 그러한 list인 list<char>::iterator 내부에 있고, 그것은 위의 예제와 같이 쓰인다. (각 STL container 클래스는 두가지의 iteraotr형인 '''iterator''' 와 '''const_iteraotr''' 를 정의한다. 전자는 일반적인 pointer와 같이 동작하고 후자는 pointer-to-const와 같이 동작한다. )
다른 STL continer들을 이용해서 정확히 같은 접근을 해본다. 게다가 C++ 포인터는 STL iterator이다. 그래서 원래 배열 예제는 STL find 함수도 역시 이용할수 있다.
int *firstFive = find(values, values+50, 5); // 맞다. STL find를 호출한다.
STL, 그것의 중심(core)는 매우 간단하다. 그것은 단지, 대표 세트(set of convention)를(일반화 시켰다는 의미) 덧붙인 클래스와 함수 템플릿의 모음이다. STL collection 클래스는 클래스로 정의되어진 형의 iterator 객체 begin과 end 같은 함수를 제공한다. STL algorithm 함수는 STL collection상의 iterator 객체를 이동시킨다. STL iterator는 포인터와 같이 동작한다. 그것은 정말로 모든 것이 포인터 같다. 큰 상속 관계도 없고 가상 함수도 없고 그러한 것들이 없다. 단지 몇개의 클래스와 함수 템플릿과 이들을 위한 작성된 모든 것이다.
또 다른 면을 말한다.: STL은 확장성이 있다. 당신은 당신의 collection, algorithms, iterator를 STL에 추가할수 있다. 당신이 STL 협의를 따르는 이상 표준 STL collection은 아마도 당신의 algorithm과 당신의 collection은 STL의 algorithms과 함깨 동작할 것이다. 물론 당신의 템플릿은 표준 C++ 라이브러리의 한부분이 아니다. 그렇지만 그들은 같은 원리로 만들어 질것이고, 재사용 될것이다.
내가 여기에 기술한 것보다 훨썬 많은 C++ 라이브러리가 존재한다. 당신은 라이브러리를 효과적으로 쓰기 전에, 반드시 당신이 알고 있는 요약 보다 더 많은 것을 배워야 하고, 당신의 STL-compliant 템플릿을 작성하기 전에, 반드시 STL의 협의에 관해서 공부해야 한다. 표준 C++ 라이브러리는 C 라이브러리 보다 훨씬 풍부하다. 아마 당신 자신이 그것(C++lib)에 친숙할수록 시간은 절약 될것이다. 게다가 라이브러리의 디자인 철학은 - 일반화(generality), 확장성(extensibility), 최적화(customizability), 효율성(efficiency), 재사용성(reusability) - 당신이 올바른 배움으로 가는데 매우 도움이 된다. 표준 C++ 라이브러리의 공부로 당신은 당신의 소프트웨어에서 사용 가능한 컴포넌트를 만드는 재반 지식의 향상은 물론, C++ 더 효율적으로 C++의 특징을 적용시키는 방법을 배운다. 그리고 당신은 당신이 가진 라이브러리의 좋은 디자인의 방법에 대한 해안을 얻는다.
- STL . . . . 26 matches
|| ["STL/vector"] ||배열을 대체할수 있는 자료구조||
|| ["STL/list"] ||만들기 까다로운 더블 링크드 리스트를 제공해준다.||
|| ["STL/set"] ||집합을 구현한 자료구조||
|| ["STL/map"] ||dictionary 자료구조를 구현하였다||
|| ["STL/string"] ||문자열을 다루는 자료구조||
* ["STL/sort"]
* ["STL/search"]
* ["STL/Tutorial"]
* [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm stl 첫배우기] - 바깥고리
* [STL/remove_copy] : -
* [STL/bind2nd] : -
* ["STL/VectorCapacityAndReserve"] : Vector 의 Capacity 변화 추이
* ["STL/Miscellaneous"] : 특별히 위치할 곳이 없는 정보들의 페이지. 쌓여서 분리됩니다.
* ["STL/vector/CookBook"] : vector 요리책(Tutorial)
* ["STL/참고사이트"]
* [http://oopsla.snu.ac.kr/~sjjung/stl/ptr_0001.htm 컨테이너에 포인터 저장하기(문제점과 해결책)]
* [http://oopsla.snu.ac.kr/~sjjung/stl/booktoc1.htm]
* [http://www.sgi.com/tech/stl/ Standard Template Library Programmer's Guide]
* ["UseSTL"] : ["neocoin"] 의 프로젝트 페이지
* ["EffectiveSTL"]
- CPPStudy_2005_1 . . . . 22 matches
* 소스코드의 코딩은 VS6를 이용할 수도 있겠지만, VS6가 나온지가 오래되다 보니 STL을 다루는 방식이 좀 달라서 책의 소스를 그대로 이용하는데 문제가 존재합니다. 따라서 .net 을 이용하거나 gcc를 이용하는 방식을 추천합니다.
[http://stlport.org/ STLPort] STLPort, [http://www.kwak101.pe.kr/wiki/wiki.php/STLport_VC%BC%B3%C4%A1 STLPort설치메뉴얼], [http://www.kwak101.pe.kr/kwak101/works/InternData/STLDecryptor_QuickGuide.html STL에러메시지 해독기 설치]
[http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. (공개)
|| 7/18 || 남상협, 박영창, 김태훈 || 각자 Chapter2까지 공부 해오기 || 간단한 클래스 설명 & STL Vector || - ||
|| 8/8 || - || Chapter9장만 || chapter 9장 스터디|| [CppStudy_2002_2/STL과제] [FileInputOutput] ||
|| 8/15 || - || Chapter10 || chpaper 10장 스터디 || STL과제->클래스화 and [CppStudy_2005_1/BasicBusSimulation] ||
* [CppStudy_2002_2/STL과제] 이 문제에 대한 소스입니다.
|| 남상협 || [CPPStudy_2005_1/STL성적처리_1] || [CPPStudy_2005_1/STL성적처리_1_class] ||
|| 박영창 || [CPPStudy_2005_1/STL성적처리_2] || [CPPStudy_2005_1/STL성적처리_2_class] ||
|| 김태훈 || [CPPStudy_2005_1/STL성적처리_3] || [CPPStudy_2005_1/STL성적처리_3_class] ||
|| 김상섭 || [CPPStudy_2005_1/STL성적처리_4] ||- ||
|| 김민경 || [CPPStudy_2005_1/STL성적처리_5] ||- ||
STL Reference) http://www.sgi.com/tech/stl/
* [STL]
- STL/참고사이트 . . . . 21 matches
Main STL sites:
[http://www.cs.rpi.edu/projects/STL/stl/stl.html C++ STL 레퍼런스 사이트]
[http://www.sgi.com/tech/stl C++ STL from SGI]
[http://www.cs.rpi.edu/projects/STL/htdocs/stl.html C++ STL from RPI univ]
[http://dmoz.org/Computers/Programming/Languages/C++/Class_Libraries/STL C++ STL site ODP for STL] 와 [http://dir.lycos.com/Computers/Programming/Languages/C%2B%2B/Class_Libraries/STL 미러]
[http://userwww.econ.hvu.nl/~ammeraal/stlcpp.html STL for C++ Programmers]
[http://www.halpernwightsoftware.com/stdlib-scratch/quickref.html C++ STL from halper]
STL tutorials:
[http://www.yrl.co.uk/~phil/stl/stl.htmlx Phil Ottewell's STL Tutorial]
좋지만 오래된 문서 - [http://www.decompile.com/html/tut.html] 미러 : [http://mip.ups-tlse.fr/~grundman/stl-tutorial/tutorial.html]
The Code Project, C++/STL/MFC 에 대한 소개 http://www.codeproject.com/cpp/stlintroduction.asp
C++ Standard Template Library, another great tutorial, by Mark Sebern http://www.msoe.edu/eecs/cese/resources/stl/index.htm
Technical University Vienna by Johannes Weidl http://dnaugler.cs.semo.edu/tutorials/stl mirror http://www.infosys.tuwien.ac.at/Research/Component/tutorial/prwmain.htm
Intro to STL SGI http://www.sgi.com/tech/stl/stl_introduction.html
Mumits STL 초보 가이드 (약간 오래된 것) http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html
ObjectSpace 예제 : ObjectSpace는 300개가 넘는 예제를 가지고 있고, 따라서 초보자에게 아주 좋은 출발점을 제시해준다. ftp://butler.hpl.hp.com/stl/examples.zip
Joseph Y. Laurino's STL page. http://weber.u.washington.edu/~bytewave/bytewave_stl.html
Marian Corcoran's STL FAQ. ftp://butler.hpl.hp.com/stl/stl.faq
["STL"]
- lostship/MinGW . . . . 15 matches
윈도우 환경에 gcc 와 STLport 설치
* STLport 를 받고 압축을 푼다. [http://www.stlport.com/ STLport]
|| ex || /MinGW/STLport-4.5.3 ||
* /STLport-4.5.3/doc/index.html 에서 컨피그 셋팅을 보고 필요하면 수정한다.
* STLport iostreams 을 사용하려면 다음 스텝을 진행한다.
* /mingw/STLport-4.5.3/src 로 이동한다.
* make -f gcc-mingw32.mak clean install 를 실행한다. 그러면 /STLport-4.5.3/lib 에 생성된다.
== application 을 STLport library 와 함께 컴파일 하는 예 ==
|| {{{~cpp g++ -o out -Id:/MinGW/STLport-4.5.3/stlport test.cpp -Ld:/MinGW/STLport-4.5.3/lib/ -lstlport_mingw32}}} ||
|| {{{~cpp g++ -o out -Id:/MinGW/STLport-4.5.3/stlport test.cpp -Ld:/MinGW/STLport-4.5.3/lib/ -lstlport_mingw32 -mwindows}}} ||
* gcc 3.2 버전에서 c++ 헤더 파일의 위치가 바뀐점이 STLport-4.5.3 에 아직 적용이 안되어 있다.
* /STLport-4.5.3/stlport/config 에 있는 stl_gcc.h 에서 다음을 수정한다.
- EffectiveSTL/Container . . . . 12 matches
* STL을 구성하는 핵심 요소에는 여러 가지가 있다.(Iterator, Generic Algorithm, Container 등등). 역시 가장 핵심적이고, 조금만 알아도 쓸수 있고, 편하게 쓸수 있는 것은 Container다. Container는 Vector, List, Deque 과 같이 데이터를 담는 그릇과 같은 Object라고 보면 된다.
* STL의 Container들의 장점이라고 한다면, 역시 유연성, 메모리 관리 알아서 하기, 자신이 알아서 늘었다 즐었다 하기 등등이 있겠다. 또한 인터페이스가 이거나 저거나 비슷비슷해서 하나만 공부하면, 쉽게 다른것도 쓸수 있다는 것도 또 하나의 장점이 될수 있겠다.
== STL이 지원하는 Containers ==
== STL Container 고르는 팁 ==
''STL Tutorial and Refereince 를 보면, 일부러 해당 Container 에게 최적화된 메소드들만 지원한다고 써있었던 기억. 예를 든다면, Vector 의 경우 push_front 같은 것이 없다. (만일 vector에 push_front 를 한다면? push_front 될때마다 매번 기존의 원소들 위치가 바뀐다.) --[1002]''
== STL way ==
* STL에 익숙하지 않다면 아마도 다음과 같이 할 것이다.
* 아직까지도 STL을 완벽하게 지원하는 컴파일러는 존재하지 않는다.
* STL에서 반복자로 돌리는건 표준 스타일이란다. 그렇게 하도록 하자.
* Fucntion Object 보통 class키워드를 쓰던데, struct(이하 class라고 씀)를 써놨군. 뭐, 별 상관없지만, 내부 인자 없이 함수만으로 구성된 class이다. STL에서 Generic 을 구현하기에 주효한 방법이고, 함수로만 구성되어 있어서, 컴파일시에 전부 inline시킬수 있기 때문에 최적화 문제를 해결했음. 오 부지런히 보는가 보네. 나의 경쟁심을 자극 시키는 ^^;; --["상민"]
= Item12. Have realistic expectations about the thread safety of STL containers. =
[EffectiveSTL]
- 데블스캠프2004/세미나주제 . . . . 11 matches
* [STL]
|| 목 || [STL] || 영동 || 2h || [STL/string]이나 [STL/vector] 등의 1학년도 쓰기 편리한 자료구조 위주로 ||
- [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러한 패러다임이 나왔는지, 그 배경에 대한 설명도 있으면 좋을 것 같습니다 - [임인택]
* 지금 Accelerated C++을 보고 있는데 STL에 대해 흥미가 생기네요... 그래서 이거 세미나 계획하고 있습니다. 세미나 방향은 char배열을 대신해서 쓸 수 있는 string이나, 배열 대신 쓸 수 있는 vector식으로 기존의 자료구조보다 편히 쓸 수 있는 자료구조를 설명하려 합니다.-영동
STL 좋지. 한데 이건 자료구조 시간과 OOP가 끝나고 하면 좋을 듯 해. --[신재동]
[STL]을 할때 단순히 자료구조를 사용하는 방법을 같이 보는것도 중요하겠지만 내부구조 (예를 들어, vector는 동적 배열, list은 (doubly?) linked list..)와 같이 쓰이는 함수(sort나 또 뭐가있드라..그 섞는것..; ), 반복자(Iterator)에 대한 개념 등등도 같이 보고 더불어 VC++6에 내장된 STL이 ''표준 STL이 아니라는 것''도 같이 말씀해 주셨으면;; (SeeAlso [http://www.stlport.org/ STLPort]) - [임인택]
- EffectiveSTL . . . . 10 matches
* 도서관에 가니까 Effective STL 원서가 있네요 *.*, 언젠가 ["1002"]형이 Most Diffcult C++이라고 한걸 들은적이 있어요--; 뭐.. 각오는 하고 있습니다. 주기적으로 한번 읽어보고 요약하는 방식으로 진행할 생각입니다. 부족한점이나 잘못된 점, 또는 인수군의 영어가 많이 딸린 관계로(--;) 해석상의 오류 등등, 많이많이 지적해 주시기 바랍니다.^^;
More Difficult C++ 은 내가 ["MoreEffectiveC++"] 를 그렇게 부른거 같은데, EffectiveSTL 은 번역이 잘되었다는, 한서가 있으니 그것도 참고하는게 좋을 것 같다. --["상민"]
* Scott Meyers's Trilogy 라고 불리는 시리즈의 3번째 것이다. ''(EC++, MEC++, ESTL)'' 나의 경우에는 일단 CVS에 대한 정리를 끝내고 한서로 읽을 생각이며, 읽으면서 기존의 부분에 보충과 함께 약간의 정리를 해나갈 계획이다. 번역서가 곽용재씨가 직업한 것이라서 한서에대한 걱정도 적은편이다. - [eternalbleu]
["EffectiveSTL/Container"]
["EffectiveSTL/VectorAndString"]
["EffectiveSTL/Iterator"]
=== 7. Programming with the STL. ===
["EffectiveSTL/ProgrammingWithSTL"]
See Also ["STL"]
- 데블스캠프2003/다루어볼문제와관련세미나 . . . . 10 matches
* STL을 알려주는건 어떨까요? 좀 더 강력한 프로그래밍을 하는 방법을 다룰 수도 있을듯 한데...-[상욱]
* 그럼 STL 내가 할래.--; 다른 사람보다 조금이나마 잘한다고 생각하는게 이것밖에 없어서..--; --[인수]
* ToyProblems 와같은 식이면 좋을것 같은데요. 1학년 텀프로젝트가 있는데 그것 하나만 가지고도 SP, OOP 등의 프로그래밍철학과, STL 등을 다루기에 좋을것 같습니다. ([http://zeropage.org/pds/200361434244/2003C++TrmPrjSpec.ppt spec]) SP 와 OOP 는.. 누가할지.. 맡게되면 고생을할수도 있겠군요. 아래 JuNe 선배님의 CSP 나.. Tuple Space (전에 P2P 관련 문서에서 본것같은 기억이..-_-a ) 등과는 약간 맞지 않을수도 있겠지만요. (그것은 다른 도메인의 문제와 다루는게 좋을듯합니다) - [임인택]
* 지나가다 잠시 말씀 드릴까 합니다. 아직 oop개념이나 프로그램 모듈화에 대해서 개념이 없는 분들에게 STL같은 것을 가르친다는 것은 약간 문제가 있지 않을까요? oop개념을 가르쳐도 구현 같이 base적인 경험이 없이 단지 가져다 쓰는것을 먼저 배우면 좋지 않을 것 같습니다. 1학년 분들 숙제 하는 것을 보니 모듈화 같은것을 가르쳐도 좋을 것 같은데. 많은 것을 가르치려고 하시는 것은 좋으나 능력에 적절하게 가르치는 것도 맞는 것 같군요. STL 같은 걸 가르치는 건 그 다음이 되었으면 좋겠구요.. 내부사정을 잘 모르니 틀리다 싶은 말이면 걍 흘려보내세요. 지우셔도 상관 없구요. ^^ - 00 나현철
* 네. 현철이형 그래서 제가 생각한게 일단 동적 배열의 확실한 이해와, 링크드 리스트를 구현해보게 한다음에, 이들 지식의 선행으로 STL을 가르치려 하려구 그랬거든요. 위 두가지만 확실히 이해할 수 있다면 STL의 기본적인 (vector나 list같은) 것은 가르쳐도 무방하다고 생각합니다. --[인수]
* 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무한한 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 문법을 추가시켜 C++이 되었는가를 가르치기 때문에 이런 기회는 필요 할것 같습니다. 아마 궁금한 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
- CppStudy_2002_2 . . . . 9 matches
|| 8.9 ||STL(["STL/vector/CookBook"])과 리펙토링 몇가지||STL(["STL/vector/CookBook"], ["STL"])과 12.클래스 상속||
|| STL연습문제 (["CppStudy_2002_2/STL과제"])|| || || ||
STL 세미나(강사:강인수) 듣기로 했습니다 날짜 주의하세요!!
* STL과제 떴습니다.
- UseSTL . . . . 9 matches
* Text Book : Generic Programming and the STL , STL Tutorial and Reference Guide Second edition
* STL Tutorial and Reference Guide Second edition 의 Tutorial부 예제 작성
* 시작한 이후로 C++ 배웠다고 한 자로서 STL 을 몰랐다는 것이 얼마나 어리석은 것이었는가 깨닫게 된다. --["상민"]
* 나도 위와 같은 표현이 있는 책을 읽어봤는데.. 허거.. 너무 어려웠어.. Effective STL이라는 책이었는데.. 좀 쉬운 과정 없을까.. 휴 Generic Programming and the STL 찾아봐야쥐.. ㅡ.ㅡ--["경태"]
* STL 책중에는 STL Tutorial and Reference Guide Second edition 가 제일 좋지 않나요? 이펙티브 STL 은 아직 책꽂이에서 잠들고있는중이라..-.-a - 임인택
* http://www.bdsoft.com/tools/stlfilt.html
- 데블스캠프2004/목요일후기 . . . . 8 matches
사실 : STL은 정말 편리하다.
간단한 암호화와 STL 을 실습했다. 어렵게 여겼던 암호가 쉽게 느껴졌다. STL 은 정말 강력하고 편한 Library였다. AcceleratorC++ 을 공부하며 STL 까지 확장해서 공부해야겠다. 민수와 영동형처럼 강의를 편안하게 하고 싶다. -- 재선
사실 : 암호화방법, 암호화와 복호화 방법, STL 의 정의(?)와 그 예들을 배웠습니다.(string,vector,map)
느낌 : 암호화와 복호화가 재미있었고, 영동이 형의 마지막 맵을 이용한 복호화와 마지막 암호 welcome2zp 의 암호 재미있었습니다. 배열을 이용하면 어려워 보일 것들도 STL 을 이용해서 쉽게 할수 있다는걸 알았습니다.
끈기가 필요한 날이었고, STL은 알면 편하다. 자는 사람이 여전히 답답하다. 포기하려는 사람은 포기하지 않도록 독려해야겠다. --[Leonardong]
* 1학년 여름방학때 처음 접하다 포기한 STL을 다시 공부하게 되는 기회가 되서 좋았습니다. --영동
- MoreEffectiveC++/Techniques1of3 . . . . 7 matches
list 클래스는 STL로 이루어져 있는데, Item 35를 참고하면 정보를 얻을수 있다. 단순히 이중 연결 리스크(double linked list)라고 생각하면 무리가 없을 것이다.
STL이 생소하다면 나중에 익혀라 하지만 위의 아이디어는 주석문으로 인해 이해가 갈것이다. 가상 복사 생성자로 인해서, 객체 복사가 상당히 간편해 진다.
* 작성자주 : 이 부분은 Singleton 패턴과 연관해서 생각하면 재미있을 것 같다. Singleton 패턴이 DP에 논의될때 이것을 감안 안한것이 아쉽다. 1995년에 발간이라 STL도 제대로 다루지 않았고, C++의 기본적인 문법을 이용해 구현하였다. MEC++는 Techniques 부분은 C++의 문법과 개념을 극한으로 쓴다는 느낌이 든다.
이렇게 생성자가 사역(private)인자로 들어가 버리면, 해당 클래스에서 유도되는 클래스를 만들기란 불가능 하다. 하지만 이 코드의 문제점은 makeFSA를 이용해 생성하면 항상 delete를 해주어야 한다는 점이다. 이전 예외를 다루는 부분에서도 언급했지만, 이는 자원이 세나갈 여지를 남기는 것이다. 이를 위한 STL의 auto_ptr도 참고하자.(Item 9 참고)
이코드는 약간 생소한 list클래스에 대한 것이 보일 것이다. 뭐, 이제는 하도 많이 나와서 별로 안생소 할것 같다. STL이고 Item 35에 모든것이 설명 되어 있다. 하지만 주석을 바탕으로 예제에 관하여 충분히 설명 가능하리라고 본다.
''Smart pointer''(이하 스마트 포인터)는 객체의 수월한 관리를 위해서 태어난 방법이다. "방법" 이라고 표현한것을 주의하라, 특별히 정해진 것이아니라. 제시된 방법론을 바탕으로, 누구나 구현할수 있다. 이전 내용중 잘 등장하는 auto_ptr STL도 스마트 포인터의 아이디어를 구현한 것이다.
auto_ptr에 관련한 내용은 이 책의 후반에 다루어 있다.(정확히 291-294쪽) 이번장 여기에 구현된 코드들이 auto_ptr의 100% 코드가 아니므로, STL의 auto_ptr을 사용하기 위해서는 꼭 보기를 바란다. 위에 사실 밑말고 말이다.
- AcceleratedC++ . . . . 6 matches
* 소스코드의 코딩은 VS6를 이용할 수도 있겠지만, VS6가 나온지가 오래되다 보니 STL을 다루는 방식이 좀 달라서 책의 소스를 그대로 이용하는데 문제가 존재합니다. 따라서 .net 을 이용하거나 gcc를 이용하는 방식을 추천합니다.
|| [STLErrorDecryptor] || 강추, 이거 설치 하니깐 좀 할만 하네 -_- -[상협] ||
|| [STLPort] || STLPort설치메뉴얼, [http://stlport.org/ STLPort] ||
|| [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] || .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. ||
- STL/map . . . . 6 matches
|| STL(C++) || map ||
* STL의 container 들은 모두 비슷한 모양의 순회를 한다.
* map 은 내부에 STL의 pair 를 이용하여 구현한다. 그래서, iterator 가 가리키는 것은 pair<key_type, value_type> 형이다.
아쉬운점 : VC++ 6.0 에서 map 한번 쓰면 warning 이 72개가 뜬다; STLPort 를 써야 할까..
warning 의 이유는 STL에서 나오는 디버그의 정보가 VC++ 디버그 정보를 위해 할당하는 공간(255byte)보다 많기 때문입니다. 보통 디버그 모드로 디버깅을 하지 않으면, Project setting에서 C/C++ 텝에서 Debug info 를 최소한 line number only 로 해놓으면 warning 는 없어 집니다. 그래도 warning 가 난다면 C/C++ 텝에서 Generate browse info 를 비활성(기본값)화 시키세요.
["STL"]
- [Lovely]boy^_^/Diary/2-2-1 . . . . 6 matches
* ["EffectiveSTL"], HowToSolveIt(["신재동"]군이 꼬심) 빌림.
* ["EffectiveSTL"] 1장 읽음&요약.
* ["EffectiveSTL"] 2,3,4 장 읽음.
* ["EffectiveSTL"] 2,3,4장 정리
* ["EffectiveSTL"] 6장 읽고 정리
* ["EffectiveSTL"] 5장 읽음
- BigBang . . . . 5 matches
* stl vector를 이용한 class vector 만들기
* standard STL sequence container
* standard STL associate container
* not in STL container
* C, OOP, Template, STL
//in STL interator
- MoreEffectiveC++/Efficiency . . . . 5 matches
여기 findCubicleNumber를 적용시키는 한 방법이 있다.;그것은 지역(local)캐쉬로 STL의(Standard Template Library-Item 35 참고) map 객체를 사용한다.
// STL interator "it"은 해당 entry를 찾는다.
STL코드를 자세히 알고 싶어서 촛점을 벗어나지 말아라. Item 35 보면 좀 확실히 알게 될것이다. 대신에 이 함수의 전체적인 기능에 촛점을 맞추어 보자.현재 이 방법은 비교적 비싼 데이터 베이스의 쿼리(query)문에대한 비용대신에 저렴한 메모리상의 데이터 베이스 구조에서 검색을 하는 것으로 교체하는걸로 볼수 있다. 개인 방번호에 대한 호출이 한벙 이상일때 findCubicleNumber는 개인방 번호에 대한 정보 반환의 평균 비용을 낮출수 있다. (한가지 조금 자세히 설명하자면, 마지막 구문에서 반환되는 값 (*it).second이 평범해 보이는 it->second 대신에 쓰였다. 왜? 대답은 STL에 의한 관행이라고 할수 있는데, 반환자(iterator)인 it은 객체이고 포인터가 아니라는 개념, 그래서 ->을 it에 적용할수 있다라는 보장이 없다. STL은 "."과 "*"를 interator상에서 원한다. 그래서 (*it).second라는 문법이 약간 어색해도 쓸수 있는 보장이 있다.)
- AcceleratedC++/Chapter10 . . . . 4 matches
지금까지는 vector, string등 STL이 기본적으로 제공하는 자료구조를 통해서 프로그래밍을 하였다.
'''low-level'''이라는 표현은 이런 내용들이 STL구현의 근간을 이루며, 하드웨어의 동작 방식과 매우 흡사하기 때문이다.
STL의 컨테이너들과는 달리 배열은 초기화에 있어서 다른 문법을 제공한다.
<fstream>에서 사용하는 파일 이름은 char* 형이며, string 타입이 아니다. 이는 fstream library 가 만들어진 시기가 STL이 만들어진 시기 보다 앞서기 때문이다.
- AcceleratedC++/Chapter7 . . . . 4 matches
* Visual C++에서 map을 사용할때 warning이 많이 뜬다면 [http://zeropage.org/wiki/STL_2fmap] 이 페이지를 참고.
'''''주의) STL을 이용하면서 많이 범하는 실수: > > (0) >>(X) 컴파일러는 >>에 대해서 operator>>()를 기대한다.'''''
|| Associative Container in STL || 키 값이 <. == 연산으로 비교만 된다면 무엇이든 무관, 요소로의 접근 시간이 logn으로 커짐. 항상 정렬 상태를 유지 ||
STL의 Associative Container는 balanced self-adjusting tree(참고 WikiPedia:AVL_tree )구조를 이용하여서 연관 컨테이너를 구현했음.
- AcceleratedC++/Chapter8 . . . . 4 matches
STL은 실제로 함수의 인스턴스화에 관한 표준적인 방식을 제정하지 않았다. 따라서 각 컴파일러마다 서로 다른 방식으로 함수를 인스턴스화한다. 따라서 자신의 컴파일러의 특징을 파악하는 노력이 필요.
* 독자적 방식의 template 모델 Compiler : 최근의 방식. 인스턴스화를 위해서 STL 정의부에 대한 접근이 필요.
STL 함수를 보면 인자로 받는 반복자(iterator)에 따라서 컨테이너의 함수 사용 유효성을 알 수 있다.
STL은 이런 분류를 위해서 5개의 '''반복자 카테고리(iterator category)'''를 정의하여 반복자를 분류한다. 카테고리의 분류는 반복자의 요소를 접근하는 방법에따른 분류이며, 이는 알고리즘의 사용 유효성 여부를 결정하는데 도움이 된다.
- ProjectPrometheus/Journey . . . . 4 matches
* STL 을 쓰면 편리하긴 한데, 확실히 학교컴퓨터에선 컴파일이 느리긴 한것 같다는; (하긴, 우리가 map 에 vector 겹친 형태로 작성을 했으니 -_-..) 그래도 STL Container 만 어느정도 이용해도 기존의 순수 C++ 을 이용할 때보다 훨씬 편하다는 점이 즐겁다. 만일 mock object 를 STL 이나 MFC Collection 없이 구현한다고 생각한다면? 그리 상상하고 싶지 않을 정도이다. (특히 DB에선) 그러면서 느끼는점이라면,
'과연 사람들이 이 소스를 보고 나서 MockObjects 를 적극적으로 이용하려고 할까?' 라는 점. (STL 을 좀 많이 써서. ^^;)
- ProjectSemiPhotoshop/Journey . . . . 4 matches
* ["STL"] 관련 서적은 네가 가진게 없을꺼라고 생각한다. 학교에서도 가르쳐주지 않는 부분이라. 스스로 익혀야 한다. 너무나 단 과실이라, 꼭 보기를 권한다. 관련 내용은 ["STL"] 에서 ["STL/vector"],["STL/vector/CookBook"]를 참고하면 될꺼다. --["neocoin"]
- STL/VectorCapacityAndReserve . . . . 4 matches
["STL/vector"] 의 capacity 와 reserve 함수의 예
/* 이 프로그램은 STL Tutorial and Reference Guid 2nd 의 */
cout << "STL Vecotr의 capacity와 reserve에 대한 함수 수행을 보입니다."
["STL"]
- STL/set . . . . 4 matches
* 집합을 구현한 자료구조(STL에서 containter)이다.
* 보통 정렬이 되어있다. STL의 map도 정렬이 되어 있다.
* STL의 container 들은 모두 비슷한 모양의 순회를 한다.
["STL"]
- VonNeumannAirport . . . . 4 matches
* 자료형 배경 지식의 미숙 (처음 STL미사용 접근, 중반부터 STL사용으로 자료형의 일관성문제)
* 중간에 창준이형이 "너희는 C++ 로 프로그래밍을 하면서 STL를 안사용하네?" 라고 했을때, 그냥 막연하게 Java 에서의 Collection Class 정도로만 STL을 생각하고, 사용을 잘 안했다. 그러다가 중반부로 들어서면서 Vector를 이용하게 되었는데, 처음 한두번 이용한 Vector 가 후반으로 가면서 전체의 디자인을 뒤집었다; (물론 거기에는 디미터 법칙을 지키지 않은 소스도 한몫했지만 -_-;) 그걸 떠나서라도 Vector를 써 나가면서 백터 비교 assert 문 등도 만들어 놓고 하는 식으로 점차 이용하다보니 상당히 편리했다. 그러다가 ["Refactoring"] Time 때 서로 다른 자료형 (앞에서 array 로 썼던 것들) 에 대해 vector 로 통일을 하다 보니 시간이 비교적 꽤 지연이 되었다.
- i++VS++i . . . . 4 matches
=== [STL] 에서 ===
++i, 나 i++ 둘다 상관 없는 상황이라면, ++i에 습관을 들이자, 위의 연산자 재정의는 [STL]을 사용한다면 일반적인 경우이다. 후위 연산자가 구현된 Iterator는 모두 객체를 복사하는 과정을 거친다. 컴파일러단에서 Iterator 의 복사를 최적화 할수 있는 가능성에서는 보장할 수 없다. 따라서, 다음과 같은 경우
가 객체 복사를 하지 않는다. 객체가 크다면 이 비용은 무시할 수 없다. 더 궁금하면, [STL] 소스를 분석해 보자.
동일한 기능에 쓴다면, ++i 에 습관을 들이는 것을 추천한다. [STL]같은 연산자 재정의 라이브러리 때문 --NeoCoin
- 2002년도ACM문제샘플풀이/문제B . . . . 3 matches
* STL 사용하면 쉽게 풀 수 있다는 걸 알고 있었지만 일부러 STL을 사용하지 않았습니다. 알고리즘적으로 머리를 쓰는 걸 훈련하기 위해...^^
* 처음 딱 보고, 앗 재귀다--; 이러고 막 고민하다가. 문득 STL 공부하다가 본 수열 제네레이터가 생각남
- CppStudy_2002_1 . . . . 3 matches
* 그리구 인수의 STL 숙제도 하고~
|| 다섯번째 주 || ["LinkedList/StackQueue/영동"][[BR]] ["STL/vector/CookBook"] 참고로 끝에 과제 해오기 ||영동 ||
상협. [STL/string|String] 클래스의 스펙을 어떻게 주었는지? 사람들이 왜 전부 String 이용 프로그램 GOD 클래스를 만드는걸까 궁리.
- EffectiveSTL/Iterator . . . . 3 matches
* 반복자는 STL을 이해하는데에 필수적인 개념이다.
* STL이 제공하는 반복자는 4가지다. (iterator, const_iterator, reverse_iterator, const_reverse_iterator)
["EffectiveSTL"]
- EffectiveSTL/ProgrammingWithSTL . . . . 3 matches
= Item49. Learn to decipher STL_related compiler diagnostics. =
= Item50. Familiarize yourself with STL-releated websites. =
["EffectiveSTL"]
- STL/search . . . . 3 matches
* STL에서는 최적의 검색 기능을 자랑하는(θ(logn)) Binary Search를 제공해준다.
* STL에서는 최적의 조합으로, sort + binary_search를 추천해준다. 예제를 보자.
["STL"]
- STL/sort . . . . 3 matches
* STL에서는 Quick Sort를 약간 변형한 Sort 알고리즘을 제공한다.
* STL의 이런 편리함은 프로그래머가 자료구조 만드느라 애쓰는 시간을 알고리즘을 생각하는 시간으로 돌려준다.
["STL"]
- STL/vector . . . . 3 matches
* ["STL/vector/CookBook"]
See Also ["STL/VectorCapacityAndReserve"]
["STL"]
- STL/vector/CookBook . . . . 3 matches
* 몇 번 써본결과 vector를 가장 자주 쓰게 된다. vector만 배워 놓으면 list나 deque같은것은 똑같이 쓸수 있다. vector를 쓰기 위한 vector 헤더를 포함시켜줘야한다. STL을 쓸라면 #include <iostream.h> 이렇게 쓰면 귀찮다. 나중에 std::cout, std:vector 이런 삽질을 해줘야 한다. 이렇게 하기 싫으면 걍 쓰던대로 using namespace std 이거 써주자.
* 이게 제가 알고 있는 STL에 대한 겁니다. 나머지나 더 자세히 알고 싶으신분은 책을 보시든지..--; MSDN을 참고하세요. 근데 이정도만 알아도.. 왠만한건 다 합니다. C++만든 그 이름 어려운 사람 BJar... Str...(--;) 이 사람이 쓰고 싶은 기능만 쓰랬거든요--; 자바가 쓰기는 쉬워도 역시 난 c++이 좋다.
["STL/vector"]
- Yggdrasil/가속된씨플플 . . . . 3 matches
예를들어, [STL]의 모든 하위페이지, EffectiveSTL의 하위 페이지들은 기존에 ZeroWikian 들의 개인 하위 페이지에 국한되어 있었습니다. 예를들어, {{{~cpp NeoCoin/STL}}} ExtremeSlayer/Vector 식으로 말이지요. 이것들을 [페이지다듬기]를 통해서 통합하고 기존 페이지들을 지워서, 한곳에 완전한 문서로 만들었습니다.
- neocoin/Log . . . . 3 matches
* ["UseSTL"] 진행
* [[HTML(<STRIKE>)]]STL공부 하기[[HTML(</STRIKE>)]]
* 위의 STL을 이용해서 OpenGL상에서 뭔가 움직이는거 만들기
- 레밍즈프로젝트/프로토타입 . . . . 3 matches
|| STL/List || [레밍즈프로젝트/프로토타입/STLLIST] || O ||
참고 : MFC에서는 [(zeropage)STL/String] 보다는 CString 클래스를 사용하는게 [(zeropage)MFC/Serialize]를 하는데 용이하다고 한다.
- 임인택/삽질 . . . . 3 matches
* STL list 는 자체적으로 sort 함수를 갖는다. ( 처음엔 VC 의 STL 이 표준이 아니라 그런줄 알고 [http://stlport.org STLPort] 를 설치하려 했었다.
- 타도코코아CppStudy . . . . 3 matches
* C++ 전반적인것 + STL 2주 정도.
* [STL]
* [EffectiveSTL]
- 1thPCinCAUCSE . . . . 2 matches
C/C++(VC++6.0)만 사용할 수 있는 상황에서는 ["STL"]을 사용하냐 안하냐가 엄청난 차이를 불러올 것이라 생각한다. 그리고 팀이 두명이냐 세명이냐도 중요하긴 할 터인데, 어떻게 조직적으로 잘 활용하느냐에 따라 차이가 있기도 하고 별로 없기도 할 것이다. 또한 자가 테스트를 통해 어느 정도 검증된 프로그램만 제출을 할 수 있다면 페널티를 줄일 수 있기 때문에 훨씬 유리할 것이다.
또한 모든 문제에 대해 출제자가 예상하는 해답이 있을 것이고, 올바르게 작동은 하지만 수행시간이 훨씬 더 걸리는(알고리즘의 컴플렉시티가 훨씬 높은) 답안이 있을 터인데, "일정시간" 내에 수행이 완료될 수 있다면 더 단순한 답안을 고를 수 있는 능력도 아주 중요할 것이다. 예컨대, 이번 대회의 예제 문제 B번(http://cs.kaist.ac.kr/~acmicpc/B_word.pdf ) 경우, (아마도) 출제자가 예상하는 답안의 실행 시간이나, 혹은 그렇지는 않지만(꽤 무식한 방법을 쓰지만) 올바르게 작동하는 답안의 실행 시간이나 모두 1초 이내이다. 후자의 방법을 생각해 내고, 프로그램 하는 데에는 보통 전산학과 학생이라면(그리고 그가 ["STL"], 특히 Permutation Generator를 다룰 수 있다면) 5분이면 떡을 치고도 남는다.
- 3D프로그래밍시작하기 . . . . 2 matches
이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
* STL 은 standard template library 입니다.
- AcceleratedC++/Chapter11 . . . . 2 matches
이장에서는 STL vector클래스의 약식 버전을 만들어 보면서 일반적인 형태의 자료형을 만드는 방식을 익힌다.
'''<memory> 의 allocate<> STL에서 알아야할 중요 메소드'''
- Boost . . . . 2 matches
--''Effective STL 한서중 인용''
See Also ["STL"]
- BoostLibrary . . . . 2 matches
--''Effective STL 한서중 인용''
* [BoostLibrary/SmartPointer] : Boost 에서 제공되는 스마트 포인터 사용 방법
See Also ["STL"]
- BusSimulation . . . . 2 matches
|| ["BusSimulation/상협"]["BusSimulation/상협(STL)"] ["BusSimulation/상협(STL)2"] || 상협 ||
- C++Analysis . . . . 2 matches
* STL Tutorial and Reference Guide, 2E (도서관에 한서 있음)
* EffectiveSTL (도서관에 한서 있음)
- CPPStudy . . . . 2 matches
|| [EffectiveSTL] ||
|| [STL] ||
- CppStudy_2002_2/STL과제 . . . . 2 matches
* 컨테이너는 STL에서 제공하는 것중의 하나를 써야만 한다.
* 인수가 한 숙제. 하기전엔 보지 마세요--; ["CppStudy_2002_2/STL과제/성적처리"]
- CppStudy_2005_1/BasicBusSimulation . . . . 2 matches
* 클래스와 STL을 적절하게 써서 짜~ 봅시다.
* 아래 문제는 본인이 STL 모르던 시절에 짰던 거라서 배열을 마구 마구 썼는데 이 문제 푸는 분들은 벡터를 쓰세요~
- GenericProgramming . . . . 2 matches
=== C++ STL ===
* ["STL"]
- MoreEffectiveC++/Basic . . . . 2 matches
* '''두번째 문제는 많은 template class(특히 STL에서) 들에게 아픔을 안겨준다. '''
첫번째에서 제기된 문제가 이번에는 template class 내부에서 일어 나고 있는 셈이다. 거참 암담한 결과를 초례한다. 문제는 이러한 template class 가 이제는 아예 STL같은 library로 구축되었단 사실. 알아서 잘 기본 생성자 만들어 적용하시라. 다른 방도 없다.
- STL/string . . . . 2 matches
* STL은 이용 방법의 general 을 추구했기 때문에, 사용법이 비슷하다.
["STL"]
- VonNeumannAirport/1002 . . . . 2 matches
언어는 C++ 로 할 것이고 중간에 STL 중 vector 를 간단하게 이용할겁니다. (자세한 이용법은 나도 모르는 관계로 -_-;) 일단 저는 이 문제를 한번 풀어본 적이 있습니다. 연습삼아서 새로 풀어봅니다.
여기서 Test - Code 의 시간이 꽤 길었다. (9분) 함수 refinement 부분에서 STL 에 있는 find 함수를 함 써먹어 보려고 했다가;; 결국은 평소 하던데로 했다. ^^;
- [Lovely]boy^_^/Arcanoid . . . . 2 matches
=== STL ===
* 정말 STL은 내 표현의 폭을 넓혀주는 것 같다. 정말 좋다.
- [Lovely]boy^_^/Diary/2-2-10 . . . . 2 matches
* 드뎌! EffectiveSTL을 빌렸다. ㅠ.ㅠ 곽용재씨가 생각보다 젊은 사람이란걸 알게 되었다.
* 드뎌! EffectiveSTL을 빌렸다. ㅠ.ㅠ 곽용재씨가 생각보다 젊은 사람이란걸 알게 되었다.
- [Lovely]boy^_^/Diary/2-2-2 . . . . 2 matches
* ["EffectiveSTL"] 5장 정리, 7장,9장,13장,14장 읽고 정리
* ["EffectiveSTL"] 26,27장 읽고 정리
- [Lovely]boy^_^/Diary/2-2-3 . . . . 2 matches
* ["EffectiveSTL"] 28장 읽고 정리
* ["EffectiveSTL"] 나머지 부분은 책반납일이 다 되었음으로 인해 유보. 또한 나머지 내용은 좀 생소해서.. 기초 부분을 좀 더 봐야 할듯싶다.
- [Lovely]boy^_^/Diary/2-2-7 . . . . 2 matches
* ESTL은 왜 안들어오는것이냐
* ESTL 들어왔다. 빌릴라면 1달은 있어야 할듯싶다.
- [Lovely]boy^_^/Diary/8/6_8/10 . . . . 2 matches
|| STL || Cook Book || 100% || ... ||
|| C++ || STL 세미나|| 70% || 별루 만족하진 않지만 잘된거 같다. ||
- neocoin/SnakeBite . . . . 2 matches
* STL 부분 전부 튜닝
* STL in C++ 언어의 장점을 써먹었는가?
- wiz네처음화면 . . . . 2 matches
= Lastly News =
* http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/STL_algorithm#AEN54 STL algorithm
- 문자반대출력/문보창 . . . . 2 matches
reverse(str.begin(), str.end()); // 문자열을 거꾸로 해주는 STL 함수
reverse(str.begin(), str.end()); // 문자열을 거꾸로 해주는 STL 함수
- 타도코코아CppStudy/0724 . . . . 2 matches
* 템플릿 -> [STL]
* 템플릿 -> OWIKI:STL
- 타도코코아CppStudy/0728 . . . . 2 matches
* 간단한 STL
ZeroWiki:STL
- 1002/Journal . . . . 1 match
두번째 문제에 대해서는 ["STL"] 에 익숙하지 않아서 시간이 1시간 18분이 걸렸다. -_-; 앞의 문제가 거의 20분 내에 끝난것에 비하면 꽤 오래걸린 셈인데. 처음 문제 이해는 굉장히 간단했고, 접근 방법도 문제 읽자 마다 2가지 정도가 보였다. 문제는 내가 permutation 을 구하는 알고리즘을 모른다는 것이였고, 직접 만들어야 했다. 뭐 그래도 별로 안어렵겠다 싶어서 TDD 식의 간단한 접근을 해 보았다. (헉, 소스를 학교에 두고 왔군. -_-;)
- 1thPCinCAUCSE/null전략 . . . . 1 match
적절히 중복코드를 삭제하고 난 뒤, 한 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성한 뒤 이를 제출, 통과했습니다.
- 2002년도ACM문제샘플풀이/문제A . . . . 1 match
* STL 을 공부해둘 걸 하는 후회가 있다. 배열을 쓸 때마다 느끼는 바다...쩝.
- AcceleratedC++/Chapter3 . . . . 1 match
SeeAlso [STL/vector]
- AcceleratedC++/Chapter5 . . . . 1 match
* 인수曰 : STL을 사용할때에는 반복자를 이용하는 것이 표준이라 한다.
- AcceleratedC++/Chapter6 . . . . 1 match
* 이 예제는 string STL을 이용해서 문자열을 검색하고, 우리에게 맞는 정보를 가공하는 것이 목적이다.
- AcceleratedC++/Chapter9 . . . . 1 match
Student_info::Student_info():midterm(0). final(0) {} // n, homework 의 경우 STL에서 제공되는 디폴트 생성자가 재귀적으로 호출
- AseParserByJhs . . . . 1 match
// 원래 STL 리스트로 전체 노드를 관리했는데 지금은 사용안함. 전체 노드 리스트는 이 모듈의 cpp 파일에 전역으로 선언.
static StlLink s_RootList;
static StlLink s_AllList;
// StlLink* pRL = &(s_RootList);
// for(StlListItor itorAll = pSL->begin (); itorAll!= pSL->end (); ++itorAll) {
StlLink* pSL = &(CHS_GObject::s_AllList);
for(StlListItor itor=pSL->begin (); itor!=pSL->end ();++itor) {
// StlListItor itor = s_AllList.begin ();
- BusSimulation/태훈zyint . . . . 1 match
STL을 이용하고 함수별로 나누는 리팩토링이 필요하다 -ㅅ-
- C++ . . . . 1 match
* [STL]
- C/C++어려운선언문해석하기 . . . . 1 match
서 함수 포인터가 사용됩니다. 예를 들자면 가상 함수 테이블, STL의 일부 템플릿 그리고 Win NT/2K/XP의 시스템 서비스에서 사용되는
- CPPStudy_2005_1/STL성적처리_1 . . . . 1 match
= CPPStudy_2005_1/STL성적처리 =
- CPPStudy_2005_1/STL성적처리_1_class . . . . 1 match
= CPPStudy_2005_1/STL성적처리_1_class =
- CPPStudy_2005_1/STL성적처리_3_class . . . . 1 match
Describe CPPStudy_2005_1/STL성적처리_3_class here.
- CppStudy_2002_2/STL과제/성적처리 . . . . 1 match
cout << "STL을 이용한 성적관리 프로그램" << endl;
- DebuggingSeminar_2005/AutoExp.dat . . . . 1 match
살표보면 MFC, ATL, STL의 기본 데이터형이 Watch 윈도우 상에서 표현되는 형태가 정의되어 있음을 알 수 있다.
- DebuggingSeminar_2005/DebugCRT . . . . 1 match
DCRT를 켜고 끄는 것에 따라서 프로그램의 수행속도의 차이가 상당하다. STL때문인지도 모르겠지만. - [eternalbleu]
- EffectiveC++ . . . . 1 match
만약 STL의 포함된 set이외에 자신만의 Set을 구현하고자 하는 예제가 있다.
- EffectiveSTL/VectorAndString . . . . 1 match
["EffectiveSTL"]
- JTDStudy/첫번째과제/상욱 . . . . 1 match
* 나는 Python이든, Perl이든 반드시 학습 해야된다고 생각한다. 그래야 다른 언어들을 잘 쓸수 있었다. 예를들어 Java Collection Framework를 알고는 있었지만 잘 손이 안나갔는데, STL과 Python을 익히고 나니까 아주 손쉽게 쓰게 되더구나.
- MFC/CollectionClass . . . . 1 match
* 내 개인적인 소견으로는 STL이 더 쓰기에 편해보인다. ㅡ.ㅡ; 단지 MFC에 최적화된어서 만들어진 만큼 MFC안에만 존재하는 장점이 있을뿐이다. Serialize 같은거? - [eternalbleu]
- Map/곽세환 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map/권정욱 . . . . 1 match
[STL실습]
- Map/노수민 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map/임영동 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map/조재화 . . . . 1 match
[STL실습], [데블스캠프2004]
- Map/황재선 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map연습문제/곽세환 . . . . 1 match
["STL실습"], ["데블스캠프2004/목요일"]
- Map연습문제/나휘동 . . . . 1 match
[STL실습]
- Map연습문제/임영동 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map연습문제/조재화 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- Map연습문제/황재선 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- MineSweeper/문보창 . . . . 1 match
STL을 처음 이용해 보았다. 굳이 쓸 필요는 없었으나, 세부적인 것을 만들어주지 않아도 미리 만들어진 것을 쓰기때문에 안정적이고 쉽게 문제를 풀 수 있었다.
- NotToolsButConcepts . . . . 1 match
* [STL], Container, 등등이 아닌 GenericProgramming
- OpenGL_Beginner . . . . 1 match
- 필자는 자신이 제작한 상업용 3D 설계 툴의 소스를 가지고 오고, 라이선스 문제와, 자신이 생각하는 개선점을 고쳐서 다시 작성했다고 한다. 인상 깊었다. 이해하기도 쉽고, 구조적 프로그래밍을 OOP로 옮긴다는 관점에 도움이 되었다. STL 비슷하게 linked list글 구현해 두었고, MEC++의 지식이 도움되었다. MEC++가 허송세월을 보낸것은 아닌 느낌이다. Java3D의 강좌에서도 Java3D의 프레임웍이 좋다고 하는데, 역시 살피는 과정에서 써야 겠다. 문서화 중
- ProjectGaia/기록 . . . . 1 match
* Sort STL적용
- PythonForStatement . . . . 1 match
왜 C++에 안되느냐면, C++의 제어문이 C문법에 종속되어 있고, C에서는 배열과 같이 주소를 통한 인덱스로 접근하는 형들이 종료 인덱스에 대한 정보가 없어서 구현이 불가능합니다. 추상화 시켜 C++에서는 [STL]에 for_each(..) 라는 함수로 비슷한 것이 구현되어 있기는 합니다.
- RandomWalk/임인택 . . . . 1 match
=== 소스 2 : 1에 [STL]을 사용하고 약간의 [Refactoring] ===
- RandomWalk2/Insu . . . . 1 match
* STL 컨테이너는 복사본을 사용한다는 걸 알고 포인터로 바꿨습니다.
- RandomWalk2/Vector로2차원동적배열만들기 . . . . 1 match
["STL/vector/CookBook"] 의 내용과 통합해야 합니다.
- Randomwalk/조동영 . . . . 1 match
2차원 동적 배열할때 벡터를 사용해도 좋음. [RandomWalk2/Vector로2차원동적배열만들기] 자료구조 숙제는 [STL]을 사용하면 더 편하게 할수 있는거 같다. - [상협]
- STL/Miscellaneous . . . . 1 match
["STL"]
- STL/Tutorial/연습문제규칙 . . . . 1 match
[STL/Tutorial]
- STL/list . . . . 1 match
["STL"] ["AcceleratedC++/Chapter8"]
- StandardTemplateLibrary . . . . 1 match
#redirect STL
- UglyNumbers/곽세환 . . . . 1 match
* STL사용하니 한결 간편하다
- WeightsAndMeasures/신재동 . . . . 1 match
sort()에 비교 함수('''turtlesCompare''') 넣는데 은근히 힘들었음. 처음에는 C++의 STL에서 vector에 비교 함수 넣는 것과 같으리라고 생각하고 비교 함수를 만들었는데 안되서 확인해보니 파이썬의 리스트에서는 결과를 '''{-1, 0, 1}'''로 해야지 제대로 돌아간다는 것을 알았음. --재동
- ZeroPageServer/InstalledTool . . . . 1 match
* STLport
- ZeroWiki에서 언어습관 . . . . 1 match
* 이러한 [위키요정]의 사례로, [STL]관련 새로 만든 개인 페이지가 넘쳐나서, 내용이 중복되고 어수선했는데, 전부 정리한 적이 있습니다.
- [Lovely]boy^_^/Book . . . . 1 match
* STL 튜토리얼 & 레퍼런스 가이드 SE(인포북) - 역시 잘 안들어옴
- [Lovely]boy^_^/Diary/2-2-4 . . . . 1 match
* EffectiveSTL 반납
- [Lovely]boy^_^/Diary/7/8_14 . . . . 1 match
* USACO 문제 풀면서 STL 공부해온걸 활용하기로 했다.
- [Lovely]boy^_^/Diary/8/11_8/17 . . . . 1 match
|| C++ || STL 내가 낸 숙제 풀어보기 || 100% || 근데 왠지 아무도 안할거 같다. ||
- [Lovely]boy^_^/USACO/YourRideIsHere . . . . 1 match
* STL 쓰니까 정말 편하네요. 앞으로 자주 애용할듯..
- lostship . . . . 1 match
|| ["lostship/MinGW"] || 윈도우 환경에 gcc 와 STLport 설치 ||
- pragma . . . . 1 match
하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.
- snowflower/Arkanoid . . . . 1 match
문득... 다른 사람의 프로젝트 페이지에 가 보았다. 내가 알고 있는 것과는 다른 것들. 객체지향, STL... 그렇게.. 왠지 뒤로 밀리는 느낌이다.[[BR]]
- whiteblue/파일읽어오기 . . . . 1 match
그거 대신 STL을 썼죠.. vector 도 linked list 로 되어있잖아요^^;; -- 상욱(["whiteblue"])
- 데블스캠프2005/주제 . . . . 1 match
[Refactoring], [TestDrivenDevelopment], [STL], [ObjectOrientedProgramming],
- 레밍즈프로젝트/연락 . . . . 1 match
1. 맵의 자료구조 : 이 부분이 Map과 Pixel 다이어그램인데... 흠... Map은 2차원 배열로서 모든 픽셀에 대한 데이터를 관리하게 되겠지?? 그리고 그 접근 방식은 순차접근(List)가 아니라 인덱싱을 이용한 임의접근(Vector) 일거고. 맵은 Pixel 이라는 인터페이스에 대한 배열을 2차원 Vector로 관리하게 되는겨-_-ㅋ(조금 복잡해지지 이럴땐 [http://www.redwiki.net/wiki/wiki.php/boost boost]의 [http://www.redwiki.net/wiki/wiki.php/boost/MultiArray 다차원배열]에 대한 STL비슷한 녀석을 사용해도 괜찮을겨-_- boost에 대해서 좀 조사를 해야겠지만... vector를 다차원으로 쓰기엔 까다로운 부분이 많거든...)
- 벡터/곽세환,조재화 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/권정욱 . . . . 1 match
[STL실습]
- 벡터/김태훈 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/김홍선,노수민 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/박능규 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/유주영 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/임민수 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/임영동 . . . . 1 match
[STL실습],[데블스캠프2004/목요일]
- 벡터/조동영 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 벡터/황재선 . . . . 1 match
[STL실습], [데블스캠프2004/목요일]
- 새싹스터디2006/의견 . . . . 1 match
제로페이지 위키에 [새싹스터디2006]에서 소그룹으로 진행한 기록이 재학생에게 필요할까요? [제로페이지의문제점]에서도 ''스터디가 신입 수준을 벗어나지 못한다''라는 점을 지적합니다. [2004년활동지도]의 1학기 스터디, [새싹C스터디2005]의 Class페이지들이 대표적입니다. 반면 [새싹C스터디2005/선생님페이지], [새싹배움터05/첫번째배움터], [새싹C스터디2005/pointer]와 같은 페이지는 현재 [새싹스터디2006]을 진행하는데 도움을 줍니다. 조금만 가다듬으면 [STL]페이지처럼 주제별로 정리할 수 있습니다.
- 장용운 . . . . 1 match
C++14, STL
- 정모/2004.5.21 . . . . 1 match
- STL
Found 140 matching pages out of 7555 total pages (5000 pages are searched)
You can also click here to search title.