Submit Search
Upload
STL study (skyLab)
โข
0 likes
โข
774 views
Gyeongwook Choi
Follow
STL in C++ basic
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
Haskell study 8
Haskell study 8
Nam Hyeonuk
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
Haskell study 6
Haskell study 6
Nam Hyeonuk
ย
[GPG ์คํฐ๋] 1.4 ๊ฒ์ํ๋ก๊ทธ๋๋ฐ์์์ STL ํ์ฉ
[GPG ์คํฐ๋] 1.4 ๊ฒ์ํ๋ก๊ทธ๋๋ฐ์์์ STL ํ์ฉ
Sehyeon Nam
ย
Stl vector, list, map
Stl vector, list, map
Nam Hyeonuk
ย
Haskell study 12
Haskell study 12
Nam Hyeonuk
ย
Haskell study 13
Haskell study 13
Nam Hyeonuk
ย
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Park Jonggun
ย
Recommended
Haskell study 8
Haskell study 8
Nam Hyeonuk
ย
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Start IoT with JavaScript - 5.๊ฐ์ฒด2
Park Jonggun
ย
Haskell study 6
Haskell study 6
Nam Hyeonuk
ย
[GPG ์คํฐ๋] 1.4 ๊ฒ์ํ๋ก๊ทธ๋๋ฐ์์์ STL ํ์ฉ
[GPG ์คํฐ๋] 1.4 ๊ฒ์ํ๋ก๊ทธ๋๋ฐ์์์ STL ํ์ฉ
Sehyeon Nam
ย
Stl vector, list, map
Stl vector, list, map
Nam Hyeonuk
ย
Haskell study 12
Haskell study 12
Nam Hyeonuk
ย
Haskell study 13
Haskell study 13
Nam Hyeonuk
ย
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Start IoT with JavaScript - 4.๊ฐ์ฒด1
Park Jonggun
ย
Haskell study 5
Haskell study 5
Nam Hyeonuk
ย
Haskell study 4
Haskell study 4
Nam Hyeonuk
ย
Start IoT with JavaScript - 2.์ฐ์ฐ์
Start IoT with JavaScript - 2.์ฐ์ฐ์
Park Jonggun
ย
05_STL์ปจํ ์ด๋์ ๋ฆฌ
05_STL์ปจํ ์ด๋์ ๋ฆฌ
noerror
ย
C++ stl
C++ stl
์์ ์
ย
Haskell study 14
Haskell study 14
Nam Hyeonuk
ย
C++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAP
Jae Woo Woo
ย
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Haskell study 15
Haskell study 15
Nam Hyeonuk
ย
Haskell study 2
Haskell study 2
Nam Hyeonuk
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
MIN SEOK KOO
ย
Haskell study 3
Haskell study 3
Nam Hyeonuk
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
MIN SEOK KOO
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
C++ Template/STL study
C++ Template/STL study
Seo Dong-yu
ย
Mec 56
Mec 56
Gyeongwook Choi
ย
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
quxn6
ย
[Commit Again] 1์ฃผ์ฐจ STL study
[Commit Again] 1์ฃผ์ฐจ STL study
๊ฒฝ ์ก
ย
Haskell study 10
Haskell study 10
Nam Hyeonuk
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
quxn6
ย
๊ฐ์์๋ฃ4
๊ฐ์์๋ฃ4
Young Wook Kim
ย
๊ฐ์์๋ฃ3
๊ฐ์์๋ฃ3
Young Wook Kim
ย
More Related Content
What's hot
Haskell study 5
Haskell study 5
Nam Hyeonuk
ย
Haskell study 4
Haskell study 4
Nam Hyeonuk
ย
Start IoT with JavaScript - 2.์ฐ์ฐ์
Start IoT with JavaScript - 2.์ฐ์ฐ์
Park Jonggun
ย
05_STL์ปจํ ์ด๋์ ๋ฆฌ
05_STL์ปจํ ์ด๋์ ๋ฆฌ
noerror
ย
C++ stl
C++ stl
์์ ์
ย
Haskell study 14
Haskell study 14
Nam Hyeonuk
ย
C++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAP
Jae Woo Woo
ย
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Haskell study 15
Haskell study 15
Nam Hyeonuk
ย
Haskell study 2
Haskell study 2
Nam Hyeonuk
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
MIN SEOK KOO
ย
Haskell study 3
Haskell study 3
Nam Hyeonuk
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
MIN SEOK KOO
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
Park Jonggun
ย
C++ Template/STL study
C++ Template/STL study
Seo Dong-yu
ย
Mec 56
Mec 56
Gyeongwook Choi
ย
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
quxn6
ย
[Commit Again] 1์ฃผ์ฐจ STL study
[Commit Again] 1์ฃผ์ฐจ STL study
๊ฒฝ ์ก
ย
Haskell study 10
Haskell study 10
Nam Hyeonuk
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
quxn6
ย
What's hot
(20)
Haskell study 5
Haskell study 5
ย
Haskell study 4
Haskell study 4
ย
Start IoT with JavaScript - 2.์ฐ์ฐ์
Start IoT with JavaScript - 2.์ฐ์ฐ์
ย
05_STL์ปจํ ์ด๋์ ๋ฆฌ
05_STL์ปจํ ์ด๋์ ๋ฆฌ
ย
C++ stl
C++ stl
ย
Haskell study 14
Haskell study 14
ย
C++ VECTOR, LIST, MAP
C++ VECTOR, LIST, MAP
ย
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
์๋ฐ์คํฌ๋ฆฝํธ ํด๋์ค์ ํ๋กํ ํ์ (prototype of class)
ย
Haskell study 15
Haskell study 15
ย
Haskell study 2
Haskell study 2
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap. 6 ํด๋์ค(CLASS)(KOR)
ย
Haskell study 3
Haskell study 3
ย
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
์ด๊ฒ์ด ์๋ฐ๋ค Chap.11 ๊ธฐ๋ณธ API ํด๋์ค(java)(KOR)
ย
Start IoT with JavaScript - 6.ํจ์
Start IoT with JavaScript - 6.ํจ์
ย
C++ Template/STL study
C++ Template/STL study
ย
Mec 56
Mec 56
ย
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
์ดํํฐ๋ธ C++ 5,6 ์ฅ ์คํฐ๋
ย
[Commit Again] 1์ฃผ์ฐจ STL study
[Commit Again] 1์ฃผ์ฐจ STL study
ย
Haskell study 10
Haskell study 10
ย
์ดํํฐ๋ธ C++ ์คํฐ๋
์ดํํฐ๋ธ C++ ์คํฐ๋
ย
Similar to STL study (skyLab)
๊ฐ์์๋ฃ4
๊ฐ์์๋ฃ4
Young Wook Kim
ย
๊ฐ์์๋ฃ3
๊ฐ์์๋ฃ3
Young Wook Kim
ย
Collection framework
Collection framework
ssuser34b989
ย
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
ํด๊ฐ
ย
์๋๋ก์ด๋๊ธฐ์ด
์๋๋ก์ด๋๊ธฐ์ด
hylo926
ย
์ดํํฐ๋ธ C++ ๊ณต๋ถ
์ดํํฐ๋ธ C++ ๊ณต๋ถ
quxn6
ย
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
Chris Ohk
ย
แแ กแแ ฆ แแ ฅแบแแ ฅแซแแ ข แแ กแแ ก8 แ แ กแทแแ กแแ ตแจ แแ ตแแ ขแซแแ ฅแซ
แแ กแแ ฆ แแ ฅแบแแ ฅแซแแ ข แแ กแแ ก8 แ แ กแทแแ กแแ ตแจ แแ ตแแ ขแซแแ ฅแซ
daewon jeong
ย
๋ชจ์ด์ดํํฐ๋ธ C++ 3,4์ฅ ์์ธ, ํจ์จ ์คํฐ๋
๋ชจ์ด์ดํํฐ๋ธ C++ 3,4์ฅ ์์ธ, ํจ์จ ์คํฐ๋
quxn6
ย
Swift3 generic
Swift3 generic
Eunjoo Im
ย
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
Yong Joon Moon
ย
แแ กแแ ตแแ ฅแซ Collections แแ ฉแแ ฒแฏ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Collections แแ ฉแแ ฒแฏ แแ ตแแ ขแแ กแแ ต
Yong Joon Moon
ย
[Swift] Data Structure - Stack
[Swift] Data Structure - Stack
Bill Kim
ย
Data Structure 4
Data Structure 4
yonsei
ย
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
Chris Ohk
ย
[Swift] Functions
[Swift] Functions
Bill Kim
ย
Programming java day2
Programming java day2
Jaehoonyam
ย
Java advancd ed10
Java advancd ed10
hungrok
ย
Light Tutorial Python
Light Tutorial Python
Kwangyoun Jung
ย
Kgc2006 Template Metaprogramming์ ์ด์ฉํ LuaTinker ๊ตฌํ
Kgc2006 Template Metaprogramming์ ์ด์ฉํ LuaTinker ๊ตฌํ
Sang Goo Kwon
ย
Similar to STL study (skyLab)
(20)
๊ฐ์์๋ฃ4
๊ฐ์์๋ฃ4
ย
๊ฐ์์๋ฃ3
๊ฐ์์๋ฃ3
ย
Collection framework
Collection framework
ย
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
ย
์๋๋ก์ด๋๊ธฐ์ด
์๋๋ก์ด๋๊ธฐ์ด
ย
์ดํํฐ๋ธ C++ ๊ณต๋ถ
์ดํํฐ๋ธ C++ ๊ณต๋ถ
ย
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
ย
แแ กแแ ฆ แแ ฅแบแแ ฅแซแแ ข แแ กแแ ก8 แ แ กแทแแ กแแ ตแจ แแ ตแแ ขแซแแ ฅแซ
แแ กแแ ฆ แแ ฅแบแแ ฅแซแแ ข แแ กแแ ก8 แ แ กแทแแ กแแ ตแจ แแ ตแแ ขแซแแ ฅแซ
ย
๋ชจ์ด์ดํํฐ๋ธ C++ 3,4์ฅ ์์ธ, ํจ์จ ์คํฐ๋
๋ชจ์ด์ดํํฐ๋ธ C++ 3,4์ฅ ์์ธ, ํจ์จ ์คํฐ๋
ย
Swift3 generic
Swift3 generic
ย
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
แแ กแแ ตแแ ฅแซ+แแ ฎแแ ญ+แแ ญแผแแ ฅ+แแ ฅแผแ แ ต 20160304
ย
แแ กแแ ตแแ ฅแซ Collections แแ ฉแแ ฒแฏ แแ ตแแ ขแแ กแแ ต
แแ กแแ ตแแ ฅแซ Collections แแ ฉแแ ฒแฏ แแ ตแแ ขแแ กแแ ต
ย
[Swift] Data Structure - Stack
[Swift] Data Structure - Stack
ย
Data Structure 4
Data Structure 4
ย
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
ย
[Swift] Functions
[Swift] Functions
ย
Programming java day2
Programming java day2
ย
Java advancd ed10
Java advancd ed10
ย
Light Tutorial Python
Light Tutorial Python
ย
Kgc2006 Template Metaprogramming์ ์ด์ฉํ LuaTinker ๊ตฌํ
Kgc2006 Template Metaprogramming์ ์ด์ฉํ LuaTinker ๊ตฌํ
ย
More from Gyeongwook Choi
MEC++ 5
MEC++ 5
Gyeongwook Choi
ย
MEC++ 3,4
MEC++ 3,4
Gyeongwook Choi
ย
MEC++ 1, 2
MEC++ 1, 2
Gyeongwook Choi
ย
EC 789
EC 789
Gyeongwook Choi
ย
JSON with C++ & C#
JSON with C++ & C#
Gyeongwook Choi
ย
approximation algorithm
approximation algorithm
Gyeongwook Choi
ย
introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programming
Gyeongwook Choi
ย
Postmortem d ao_c_แแ ฌแแ งแผแแ ฎแจ
Postmortem d ao_c_แแ ฌแแ งแผแแ ฎแจ
Gyeongwook Choi
ย
More from Gyeongwook Choi
(8)
MEC++ 5
MEC++ 5
ย
MEC++ 3,4
MEC++ 3,4
ย
MEC++ 1, 2
MEC++ 1, 2
ย
EC 789
EC 789
ย
JSON with C++ & C#
JSON with C++ & C#
ย
approximation algorithm
approximation algorithm
ย
introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programming
ย
Postmortem d ao_c_แแ ฌแแ งแผแแ ฎแจ
Postmortem d ao_c_แแ ฌแแ งแผแแ ฎแจ
ย
STL study (skyLab)
1.
STL in C++
2.
STL = Standard
Template Library
3.
Template ์๋ฃํ์ ๋ค๋ฅด์ง๋ง ๋ด๋ถ
์๋์ ๋น์ทํ ํด๋์ค๋ ํจ์๋ค์ ์ฌ๋ฌ ๋ฒ ์์ฑํ์ง ์๊ณ ํ ๋ฒ๋ง ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ int min( int a, int b ) { return ( a < b ) ? a : b; } ๋ง์ฝ ์์ ๊ฐ์ ํจ์๊ฐ ์์ ๋, ์๋ฃํ์ด float์ธ ๋ ๋ณ์ ์ค์์ ์์ ๊ฐ์ ์ป์ผ๋ ค๋ฉด float min( float a, float b ) { return ( a < b ) ? a : b; } floatํ์ ์ํ ํจ์๋ฅผ ์ค๋ฒ๋ก๋ฉ ํด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๋ ํจ์์ ์๋ฃํ์ ์ ์ธํ๋ฉด ๋๊ฐ์ ํจ์์ด๋ค. ์ด๋ด ๋ ์์ ์ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ด ํ ํ๋ฆฟ ๊ธฐ๋ฅ template <class T> T min ( T a, T b ) { return ( a < b ) ? a : b; } ์ฌ๊ธฐ์ template๋ผ๋ ๊ฒ์ ์ด ํจ์๊ฐ template ํจ์๋ผ๋ ๋ป์ด๊ณ , <class T>๋ T๋ผ๋ ์๋ฃํ์ ์ด ํจ์์์ ์ฌ์ฉํ๊ฒ ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ฌ๊ธฐ์์ T๋ a์ b์ ์๋ฃํ์ด ๋ฌด์์ธ์ง ์ง๊ธ์ ์ ์ ์ ์ง๋ง ํจ์๊ฐ ํธ์ถ๋ ๋ a์ b์ ์๋ฃํ์ T๋ผ๊ณ ํ๊ฒ ๋ค๋ ๋ป์ด๋ค. ๊ทธ๋์ min(a, b)ํ๋ฉด a, b์ ์๋ฃํ์ ์๊ด์์ด ๋ ์์ ๊ฐ์ด ๋ฆฌํด๋๋ค.
4.
์์์ ๋ณธ ๊ฒ์
ํ ํ๋ฆฟ์ ์ด์ฉํด์ ํจ์๋ฅผ ๋ง๋ค์์ผ๋ฏ๋ก ํ ํ๋ฆฟ ํจ์๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๊ธฐ๋ฅ์ ํด๋์ค์๋ ์ ์ฉ์ํฌ ์ ์๋๋ฐ, ์ด ๊ฒฝ์ฐ๋ฅผ ํ ํ๋ฆฟ ํด๋์ค๋ผ๊ณ ํ๋ค. template <class T> class A { T m_t; public: A(T t): m_t(t) {} void f(T t); }; ์์ ์์ ์ฝ๋์์ ์ ์ ์๋ฏ์ด ํ ํ๋ฆฟ ํจ์์ ๊ฑฐ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ค๋ง ํ ํ๋ฆฟ ํจ์์์๋ <class T>๋ก ์ ์ํ ์๋ฃํ์ ์๋์ ์ผ๋ก ์ธ์ํ ๋ฐ๋ฉด์ ํ ํ๋ฆฟ ํด๋์ค๋ ํด๋์ค๋ฅผ ์์ฑํ ๋๋ ์๋์ ๊ฐ์ด ์๋ฃํ์ ๋ช ์ํด์ค์ผ ํ๋ ์ฐจ์ด์ ์ด ์๋ค. A<int> a(10); ์์์ ๊ฐ์ธ ์๋ฃํ์ int๋ก ์ ์ธํ๋ฉด ์์ฑ๋๋ class A๋ ๋ค์๊ณผ ๋์ผํ๋ค. class A { int m_t; public: A(int t): m_t(t) {} void f(int t); }; ์ด๋ < > ์์ ๋ค์ด๊ฐ ์ ์๋ ์๋ฃํ์ int๋ float์ ๊ฐ์ ๊ธฐ๋ณธ ์๋ฃํ์ ๋ฌผ๋ก ์ด๊ณ , ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ก ์ ์ํ ํด๋์ค ๋ ํฌ์ธํฐํ๋ ๊ฐ๋ฅํ๋ค.
5.
์์ ์์ ๋ฅผ ์์ฉํด์
์ข ๋ ๋ค์ํ ํ ํ๋ฆฟ ํด๋์ค๋ฅผ ๋ง๋ค ์ ์๋ค. template <class A, class B, int MAX> class TwoArray { // blah blah A arr1[MAX]; B arr2[MAX]; // blah blah }; ์์ ๊ฐ์ด < > ์์ ๋ค์ํ ์กฐ๊ฑด์ ๋ช ์ํ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด์ ์์ TwoArray๋ผ๋ ํด๋์ค๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฑํ๋ฉด TwoArray<int, char, 10> a; class A์๋ int๊ฐ, class B์๋ char๊ฐ, int MAX์๋ 10 ์ด๋ผ๋ ๊ฐ์ด ํ ๋น๋์ด์ a๋ผ๋ ๊ฐ์ฒด ์์๋ Int arr1[10] char arr2[10] ๊ฐ ์์ฑ๋๋ค.
6.
์ ๊ธฐํ ๊ธฐ๋ฅ์ธ๋งํผ ํ ํ๋ฆฟ์๋
๋ช ๊ฐ์ง ํน์ง์ด ์๋ค. 1. <class T> ๋์ ์ <typename T>๋ฅผ ์ธ ์๋ ์๋ค. ๋์ ๋์ผํ๋ค. 2. Template์ ๋ฐํ์์ ์์ฑ๋๋ ๊ฒ์ด ์๋๋ผ ์ปดํ์ผํ ๋ ๋ง๋ค์ด์ง๋ค. ๊ทธ๋์ ์์ฃผ ๋ง์ด ์ฌ์ฉํ๋ฉด ์ปดํ์ผ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค. (ํ์ง๋ง ๋ณ๋ก ์ค์ํ์ง๋ ์๋ค.) 3. ์ค์ํ ๊ฒ์ template function์ ํญ์ ํค๋ ํ์ผ์ ๋์์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ ์ด์ ๋ template function์ ํจ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ ์ธํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ template function์์ ํธ์ถํ๋ ํจ์๊ฐ ์๋ค๋ฉด, ๊ทธ ํจ์ ์ญ์ ํค๋ ํ์ผ์ ์ ์๋ ์ด ์์ด์ผ ํ๋ค.
7.
STL ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ๋ฅ๋ค์
์์์ ์ดํด๋ณธ template ๊ธฐ๋ฅ์ ์ด์ฉํด์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ ๊ฒ ์ข ๋ฅ์๋ STL Containers, Iterators, Algorithms, Allocators, Function Object๊ฐ ์๋ค. STL Containers ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ๋ค. ์ฌ์ฉ๋ฒ๋ค์ด ๋น์ทํ๋ linked list๋ฅผ ํตํด ์ดํด๋ณด์. // ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์์ผ ๋๋ค #include <list> // ํ๋ ์์ฑํ์ // template์์ ๋ณธ ๋ฌธ๋ฒ์ด ๊ทธ๋๋ก ์ ์ฉ๋๋ค. // ์์ฑํ ๋ฆฌ์คํธ๊ฐ ์ ์ฅํ ๋ฐ์ดํฐ ํ์ ์ < > ์์ ์ ์ด์ฃผ๋ฉด ๋๋ค. std::list<int> intList; // ๋ฆฌ์คํธ์ element๋ฅผ ์ถ๊ฐํด๋ณด์ // ์ฌ๊ธฐ์ ์ฌ์ฉํ push_back()์ ๋ฆฌ์คํธ์ ๋งจ ๋ค์ ์๋ฃ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ intList.push_back(5); // ๊ทธ๋ผ ์ด์ ์ถ๊ฐ๋ ๊ฐ๋ค ์ค์ 5๋ฅผ ์ ์ฅํ๊ณ ์๋ ๋ ธ๋๋ฅผ ์ง์๋ณด์ intList.remove(5);
8.
๊ทธ ์ธ์๋ STL์๋
๋ค์ํ ๋ฉค๋ฒํจ์๋ค์ด ์๋ค. list๋ฅผ ์๋ก ๋ค๋ฉด assign // ๊ธฐ์กด์ ์๋ elements๋ฅผ ์ญ์ ํ๊ณ ์๋ก์ด elements๋ก ๋์ฒด list::clear // ๋ฆฌ์คํธ์ ๋ชจ๋ elements ๊ด์ญ ์ญ์ empty // ๋ฆฌ์คํธ๊ฐ ๋น์ด์๋์ง ํ์ธ max_size // ๋ฆฌ์คํธ์ ์ต๋ ํฌ๊ธฐ ๋ฐํ get_allocator // ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋ allocator๋ฅผ ๋ณต์ฌํด์ ๋ฐํ resize // ๋ฆฌ์คํธ์ ํฌ๊ธฐ๋ฅผ ์๋ก ์ง์ (๋ ๊ธธ์ด์ง๋ฉด ๊ธธ์ด์ง ์๋ฆฌ๋ ๊ธฐ๋ณธ๊ฐ๋ค๋ก ์ฑ์์ง๊ณ , ๋ ์งง์์ง๋ฉด ์งง์์ง ๊ธธ์ด๋ณด๋ค ๋ค์ ์๋ elements๋ ์ง์์ง) reverse // ๋ฆฌ์คํธ์ elements์ ์์๋ฅผ ๋ค์ง๋๋ค size // ์ง๊ธ ๋ฆฌ์คํธ์ ํฌ๊ธฐ ๋ฐํ sort // ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ์ elements๋ฅผ ์ ๋ ฌ splice // ๋ฆฌ์คํธ์์ ์ญ์ ํ element๋ฅผ ๋์์ด ๋๋ ๋ฆฌ์คํธ์ ์ฝ์ swap // ๋ ๋ฆฌ์คํธ์ elements๋ฅผ ์๋ก ๋ฐ๊พผ๋ค unique // ๋ฆฌ์คํธ์์ ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง๊ฑฐ๋ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ง๋ elements๋ฅผ ์ญ์ merge // ์ง์ ๋ ๋ฆฌ์คํธ์ elements๋ฅผ ๋์์ด ๋๋ ๋ฆฌ์คํธ๋ก ๋ณต์ฌํ๊ณ ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์๋ก ์ ๋ ฌ
9.
front // ๋ฆฌ์คํธ์
์ฒซ ๋ฒ์งธ element์ ๋ํ reference ๋ฅผ ๋ฐํ back // ๋ฆฌ์คํธ์ ๋ง์ง๋ง element์ ๋ํ reference ๋ฅผ ๋ฐํ begin // ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ element์ ๋ํ iterator๋ฅผ ๋ฐํ list::cbegin // ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ element์ ๋ํ const iterator๋ฅผ ๋ฐํ end // ๋ฆฌ์คํธ์ ๋ง์ง๋ง element์ ๋ํ iterator๋ฅผ ๋ฐํ list::cend // ๋ฆฌ์คํธ์ ๋ง์ง๋ง element์ ๋ํ const iterator๋ฅผ ๋ฐํ rbegin // ๋ฆฌ์คํธ์ ์ญ์์์ ์ฒซ ๋ฒ์งธ element์ ๋ํ iterator๋ฅผ ๋ฐํ list::crbegin // ๋ฆฌ์คํธ์ ์ญ์์์ ์ฒซ ๋ฒ์งธ element์ ๋ํ const iterator๋ฅผ ๋ฐํ rend // ๋ฆฌ์คํธ์ ์ญ์์์ ๋ง์ง๋ง element์ ๋ํ iterator๋ฅผ ๋ฐํ list::crend // ๋ฆฌ์คํธ์ ์ญ์์์ ๋ง์ง๋ง element์ ๋ํ const iterator๋ฅผ ๋ฐํ ๊ทธ ์ธ์๋ STL์๋ ๋ค์ํ ๋ฉค๋ฒํจ์๋ค์ด ์๋ค. list๋ฅผ ์๋ก ๋ค๋ฉด
10.
list::emplace // ํน์ ํ
์์น์ element ์ฝ์ list::emplace_back // ๋ฆฌ์คํธ์ ๋งจ ๋ค์ elements ์ถ๊ฐ list::emplace_front // ๋ฆฌ์คํธ์ ๋งจ ์์ elements ์ถ๊ฐ insert // ๋ฆฌ์คํธ์ ํน์ ํ ์์น์ ํ๋ ํน์ ๋ค์์ element๋ฅผ ์ฝ์ push_back // ๋ฆฌ์คํธ์ ๋งจ ๋ค์ element ์ถ๊ฐ push_front // ๋ฆฌ์คํธ์ ๋งจ ์์ element ์ถ๊ฐ erase // ๋ฆฌ์คํธ์ ํน์ ํ ์์น์ ์๋ element ํ๋ ํน์ ๋ค์๋ฅผ ์ญ์ pop_back // ๋ฆฌ์คํธ์ ๋งจ ๋ค element ์ญ์ pop_front // ๋ฆฌ์คํธ์ ๋งจ ์ element ์ญ์ remove // ์ ๋ ฅํ ๊ฐ์ ๋ง์กฑํ๋ elements ์ญ์ remove_if // ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ elements ์ญ์ // operator = // ๋ฆฌ์คํธ์ ๋ชจ๋ element๋ฅผ ๋ณต์ฌ ๊ทธ ์ธ์๋ STL์๋ ๋ค์ํ ๋ฉค๋ฒํจ์๋ค์ด ์๋ค. list๋ฅผ ์๋ก ๋ค๋ฉด
11.
vector // ๋์ ์ธ
๋ฐฐ์ด๋ก์จ ์์์ ๊ฐ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํ ์ ์๋ค deque // ์ ๊ทผ์๊ฐ์ array, ์ถ๊ฐ ์ญ์ ์๊ฐ์ linked list์ธ ์๋ฃ๊ตฌ์กฐ map // key๋ฅผ ํตํด์ value์ ์ ๊ทผํ๋ ์๋ฃ๊ตฌ์กฐ, key์ value ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ ์ง์ ํ ์ ์๋ค ***๊ด๋ จ msdn ํ์ด์ง http://msdn.microsoft.com/en-us/library/vstudio/1fe2x6kt(v=vs.100).aspx ์์ฃผ ์ฐ์ด๋ STL container
12.
Algorithms ๋ง๊ทธ๋๋ก ์๊ณ ๋ฆฌ๋ฌ์ผ๋ก์จ ์ ๋ ฌ,
์ฐพ๊ธฐ, ์์ ๋ฐ๊พธ๊ธฐ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ STL container์ ๋น์ทํ์ง๋ง ๊ฐ๋ณ ์๊ณ ๋ฆฌ๋ฌ์ includeํ์ง ์๊ณ ํ๋ฒ์ ์ ์ฒด๋ฅผ includeํ๋ค. // ๋ค์๊ณผ ๊ฐ์ด includeํด์ฃผ๊ณ #include <algorithm> // ์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด ๋๋ค. std::sort(first, last); ์ฌ๊ธฐ์ ์ฌ์ฉ๋ sort()๋ first์์ last๊น์ง์ ๋ฐ์ดํฐ๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋๋ฐ, ํ๊ท ์ ์ธ ์๊ฐ ๋ณต์ก๋๋ N = last โ first์ผ ๋, O(N log N)์ด๋ค. ์ฃผ์ํ ์ ์ sort()๋ stableํ ์๊ณ ๋ฆฌ๋ฌ์ด ์๋๋ฏ๋ก stableํ ์ ๋ ฌ ๊ฒฐ๊ณผ๋ฅผ ์ํ๋ค๋ฉด stable_sort()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ์ด์ ๊ฐ์ด ๊ฐ๊ฐ์ ์๊ณ ๋ฆฌ๋ฌ์ ํน์ง์ msdn์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์๋ค.
13.
find() // ์ ํ
๊ฒ์ ์๊ณ ๋ฆฌ์ฆ replace() // ํน์ ํ ๊ฐ์ ๊ฐ๋ element๋ฅผ ์ฐพ์์ ์ ๋ ฅํ ๊ฐ์ผ๋ก ๊ต์ฒด reverse() // ์์๋ค์ ์์๋ฅผ ๋ฐ๋๋ก ๋ค์ง๋๋ค binary_search() // ์์๋ค์ด ์ ๋ ฌ๋์ด ์์ ๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ข ๋ ๋นจ๋ฆฌ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์๋ค ***๊ด๋ จ msdn ํ์ด์ง http://msdn.microsoft.com/en-us/library/vstudio/wh15hsex(v=vs.100).aspx ์์ฃผ ์ฐ์ด๋ Algorithms
Download now