728x90
(c++) ๋””์ž์ธ ํŒจํ„ด 01(์‹ฑ๊ธ€ํ†ค, ์ถ”์ƒ ํŒฉํ† ๋ฆฌ, ์˜ต์ €๋ฒ„, ํ”„๋ก์‹œ, ์–ด๋Œ‘ํ„ฐ)
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 8. 24. 18:38(c++) ๋””์ž์ธ ํŒจํ„ด 01(์‹ฑ๊ธ€ํ†ค, ์ถ”์ƒ ํŒฉํ† ๋ฆฌ, ์˜ต์ €๋ฒ„, ํ”„๋ก์‹œ, ์–ด๋Œ‘ํ„ฐ)

1. ์‹ฑํดํ†ค(singletion) ํŒจํ„ด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ์˜ค์ง ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ๊ฐ€์ง€๋Š” ํŒจํ„ด์ด๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ชจ๋“ˆ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋†“๊ณ  ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๋“ค์ด ๊ณต์œ ํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ• ๋•Œ ๋“œ๋Š” ๋น„์šฉ์ด ์ค„์–ด๋“œ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜์กด์„ฑ์ด ๋†’์•„์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•  ๋•Œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹จ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์„ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๊ตฌํ˜„์— ์ ํ•ฉํ•˜๋‹ค. ๋งŽ์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ƒํƒœ ์ •๋ณด, ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ, ํŠน์ •ํ•œ ์ง€์ ์—์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํด๋ž˜์Šค์ธ ๋กœ๊ฑฐ(logger)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋กœ๊ฑฐ ํด๋ž˜์Šค๋Š” ์‹ฑ๊ธ€ํ„ด์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ตฌํ˜„ ๋ฐฉ๋ฒ•: (1). static ๋ฉ”์„œ๋“œ๋งŒ ๊ฐ€์ง€..

(c++17) decltype, ๋กœ ์ŠคํŠธ๋ง ๋ฆฌํ„ฐ๋Ÿด, static, const, extern, mutable, constexpr, ํƒ€์ž… ์•จ๋ฆฌ์–ด์Šค, ์Šค์ฝ”ํ”„, ๋ ˆํผ๋Ÿฐ์Šค, ์–ดํŠธ๋ฆฌํŠœํŠธ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 8. 11. 15:11(c++17) decltype, ๋กœ ์ŠคํŠธ๋ง ๋ฆฌํ„ฐ๋Ÿด, static, const, extern, mutable, constexpr, ํƒ€์ž… ์•จ๋ฆฌ์–ด์Šค, ์Šค์ฝ”ํ”„, ๋ ˆํผ๋Ÿฐ์Šค, ์–ดํŠธ๋ฆฌํŠœํŠธ

1. decltype ํ‚ค์›Œ๋“œ decltype ํ‚ค์›Œ๋“œ๋Š” ์ธ์ˆ˜๋กœ ์ง€์ •ํ•œ ํ‘œํ˜„์‹์˜ ํƒ€์ž…์„ ์•Œ์•„๋‚ธ๋‹ค. int x = 123; decltype(x) y = 456; ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” y์˜ ํƒ€์ž…์ด x์˜ ํƒ€์ž…์ธ int๋ผ๊ณ  ์ถ”๋ก ํ•œ๋‹ค. decltype์€ ๋ ˆํผ๋Ÿฐ์Šค๋‚˜ const์ง€์ •์ž๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์—์„œ auto์™€ ๋‹ค๋ฅด๋‹ค. ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ƒ๋‹นํžˆ ๊ฐ•๋ ฅํ•œ ํšจ๊ณผ๋ฅผ ๋ฐœํœ˜ํ•œ๋‹ค. 2. ๋กœ ์ŠคํŠธ๋ง ๋ฆฌํ„ฐ๋Ÿด(raw string liternal) ์—ฌ๋Ÿฌ ์ค„์— ๊ฑธ์ณ ์ž‘์„ฑํ•œ ์ŠคํŠธ๋ง ๋ฆฌํ„ฐ๋„๋กœ์„œ, ๊ทธ ์•ˆ์— ๋‹ด๊ธด ์ธ์šฉ๋ถ€ํ˜ธ๋ฅผ ์ด์Šค์ผ€์ดํ”„ ์Šคํ€€์Šค๋กœ ํ‘œํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , \t, \n๊ฐ™์€ ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค. ๋ฌธ๋ฒ•: R " ( ) " const char* str = R"(Hello "Pinko")" ; 3. stati..

(c++17) ์ „์ฒ˜๋ฆฌ ์ง€์‹œ์ž, if-switch ์ด๋‹ˆ์…œ๋ผ์ด์ €, __func__, ๊ตฌ์กฐ์  ๋ฐ”์ธ๋“œ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 8. 4. 17:54(c++17) ์ „์ฒ˜๋ฆฌ ์ง€์‹œ์ž, if-switch ์ด๋‹ˆ์…œ๋ผ์ด์ €, __func__, ๊ตฌ์กฐ์  ๋ฐ”์ธ๋“œ

1. ์ „์ฒ˜๋ฆฌ ์ง€์‹œ์ž C++๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋นŒ๋“œ(build)์ž‘์—…์€ ์„ธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋ฉฐ, ์ „์ฒ˜๋ฆฌ ์ง€์‹œ์ž(directive)๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ์— ์ „๋‹ฌํ•  ์‚ฌํ•ญ์„ ํ‘œํ˜„ํ•˜๋ฉฐ, '#' ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค. ๋นŒ๋“œ ์ž‘์—…: ์ „์ฒ˜๋ฆฌ(Preprocess) -> ์ปดํŒŒ์ผ(complie) -> ๋งํฌ(link) 2. main ( ) ํ•จ์ˆ˜ main ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์ง€ ์•Š๊ฑฐ๋‚˜, ๋‘ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋„๋ก ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. int main (int argc, char* argv[]) - argc: ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌํ•  ์ธ์ˆ˜ ๊ฐœ์ˆ˜ - argv[]: ์ „๋‹ฌํ•  ์ธ์ˆ˜์˜ ๊ฐ’์„ ๋‹ด๋Š” ๋ฐฐ์—ด - argv[0]์—๋Š” ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„์ด ๋‹ด๊น€. * ์ฃผ์˜: ์‹ค์ œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. 3. (C++17) std::byte c++17 ์ด์ „์—๋Š” ..

(OS) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 8. 3. 12:06(OS) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋งํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋ž€ ํŒŒ์ผ์ด ์ €์žฅ ์žฅ์น˜์— ์ €์žฅ๋˜์–ด ์žˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์˜ฌ๋ผ๊ฐ€ ์žˆ์ง€ ์•Š์€ ์ƒํƒœ์ด๋ฉฐ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ช…๋ น์–ด ๋ชจ์Œ์ด ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๊ฒƒ์„ ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์ „๊นŒ์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด๋กœ๋Š” ์•„๋ฌด๋Ÿฐ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ํ•œ ์ค„์”ฉ ์‹คํ–‰๋˜๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ์€ ๋ญ”๊ฐ€ ํ™œ๋™์„ ํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ์ด๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค. Q. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. 1. ํ”„๋กœ์„ธ์Šค(Process) - ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์ž์›(ํ”„๋กœ์„ธ์„œ, ํ•„์š”ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ)์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด์ž ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•˜๋ฉฐ CPU์Šค์ผ€์ค„๋ง์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์ž‘์—…(task)์ด๋ผ๋Š” ์šฉ์–ด์™€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ธ๋‹ค. - ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ..

(OS) ์šด์˜์ฒด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 7. 29. 18:23(OS) ์šด์˜์ฒด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ

์šด์˜์ฒด์ œ OS(Operating System)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ด๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์˜ ํŽธ์˜์„ฑ์„ ์ œ๊ณต ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์šด์˜์ฒด์ œ๋Š” Window, ios, Linux ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. GUI (grapic user interface) ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ž์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•œ ํ˜•ํƒœ, ๋‹จ์ˆœ ๋ช…๋ น์–ด ์ฐฝ์ด ์•„๋‹Œ ์•„์ด์ฝ˜์„ ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋™์ž‘์œผ๋กœ ์ปดํ“จํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ์‹œ์Šคํ…œ์ฝœ (system call) - ์ถ”์ƒํ™” ๊ณ„์ธต - ์šด์˜์ฒด์ œ๋Š” ์ปค๋„๋ชจ๋“œ(Kernel Mode)์™€ ์‚ฌ์šฉ์ž ๋ชจ๋“œ(User Mode)๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ปค๋„์€ ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ ์ž์›์„ ๋ณดํ˜ธํ•˜๊ธฐ..

(OS) ์ž๋ฃŒํ˜•, ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ๋ฐ ์ •์ˆ˜ ์ œํ•œ <limits>
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 7. 6. 16:34(OS) ์ž๋ฃŒํ˜•, ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ๋ฐ ์ •์ˆ˜ ์ œํ•œ <limits>

C ํ‘œ์ค€ ํ—ค๋” ํŒŒ์ผ ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ—ค๋” ์—๋Š” ๋ฅผ ๋น„๋กฏํ•œ ๊ฐ€ ํฌํ•จ CHAR_BIT ๋น„ํŠธ ํ•„๋“œ๊ฐ€ ์—†๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ณ€์ˆ˜์˜ ๋น„ํŠธ ์ˆ˜์ž…๋‹ˆ๋‹ค. 8 SCHAR_MIN signed char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. -128 SCHAR_MAX signed char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 127 UCHAR_MAX unsigned char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 255(0Xff) CHAR_MIN char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. –128, /J ์˜ต์…˜์ด ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ 0 CHAR_MAX char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 127, /J ์˜ต์…˜์ด ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ, 255 MB_LEN_MAX ์—ฌ๋Ÿฌ ๋ฌธ์ž ์ƒ์ˆ˜์—์„œ์˜ ์ตœ๋Œ€ ๋ฐ”์ดํŠธ ์ˆ˜์ž…๋‹ˆ๋‹ค. 5 SHRT_MIN short ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. ..

[Algorithm/Shortest Path] A* ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๊ตฌํ˜„C++
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์•Œ๊ณ ๋ฆฌ์ฆ˜2022. 6. 20. 16:33[Algorithm/Shortest Path] A* ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๊ตฌํ˜„C++

์Šคํ„ฐ๋””์—์„œ A* ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•œ ๋ฒˆ ์ž‘์„ฑํ•ด๋ณด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ˜์†”๋กœ ๋„์–ด๋ณด๊ณ .. ์œ ๋‹ˆํ‹ฐ๋กœ ์ ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ์œ ๋‹ˆํ‹ฐ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—… ๋ฒŒ์จ๋ถ€ํ„ฐ ๊ฑฑ์ •์ด ๋œ๋‹ค. ์ผ๋‹จ A*์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ”์ง€ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์ž ..A* ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™•์žฅํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ฃผ์–ด์ง„ ์ถœ๋ฐœ ๊ผญ์ง“์ ์—์„œ๋ถ€ํ„ฐ ๋ชฉํ‘œ ๊ผญ์ง“์ ๊นŒ์ง€ ๊ฐ€๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ฃผ๋กœ ๊ฒŒ์ž„์—์„œ ๋ชฌ์Šคํ„ฐ๊ฐ€ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๋ชฉํ‘œ์ง€์ ์œผ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜  ์ž๋™ ์‚ฌ๋ƒฅ ๊ฒŒ์ž„์—์„œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํƒ€๊ฒŸ(๋ชฌ์Šคํ„ฐ๋‚˜ ๋‹ค๋ฅธ PC)์„ ํ–ฅํ•ด ์ด๋™์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ A* ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ชฉํ‘œ์ ์‹œ์ž‘์  -> ๋‚˜๋จธ์ง€ ๋ชจ๋“  ์ •์ ๋“ค๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ์‹œ์ž‘์  -> ๋ชฉํ‘œ์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์ฐจํ›„ ๊ฒฝ๋กœ ๋„์ถœ์„ ์œ„ํ•œ ํ•จ์ˆ˜f(n)ํ˜„์žฌ ๋…ธ๋“œ์—์„œ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ..

[C++] ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ C++ , Chapter 27 ์ •๋ฆฌ )
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 5. 16. 23:03[C++] ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ C++ , Chapter 27 ์ •๋ฆฌ )

์•ˆ๋…•ํ•˜์„ธ์š”. ํ•‘ํฌ์ฝ”๋ƒฅ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋ฆฌ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๊ธด๊ธ€ ์ฃผ์˜ ํ•ด์ฃผ์„ธ์š”. ใ…Žใ…Ž;; ์ œ๊ฐ€ ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์ด ๋ถ€์กฑํ•ด์„œ ์—…๋ฌด ์ค‘ ๋Œ€ํ™”์—์„œ ์ดํ•ด ๋ชปํ•œ ์ ์ด ๋ช‡ ๋ฒˆ ์žˆ์–ด์„œ ํ•œ ๋ฒˆ ์ซ™ ์ •๋ฆฌ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. * ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํ”„๋กœ์„ธ์„œ ์œ ๋‹›์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žฅ์ฐฉ๋œ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ค‘์š”ํ•œ ๊ธฐ๋ฒ•. - ์‹œ์Šคํ…œ์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ ์œ ๋‹›์„ ๋ณ‘๋ ฌ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ. * ์‹œ์Šคํ…œ์— ํ”„๋กœ์„ธ์„œ ์œ ๋‹›์ด ์žฅ์ฐฉ๋˜๋Š” ๋ฐฉ์‹์€ ๋‹ค์–‘ํ•จ. 1. ๋…๋ฆฝ์ ์ธ cpu center processor unit๋ฅผ ๋‹ด์€ ํ”„๋กœ์„ธ์„œ ์นฉ์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋‹ฌ๋ฆฌ๋Š” ๋ฐฉ์‹. 2. ํ•œ ํ”„๋กœ์„ธ์„œ ์นฉ ์•ˆ์— ์ฝ”์–ดcore๋ผ ๋ถ€๋ฅด๋Š” ๋…๋ฆฝ์ ์ธ cpu๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋Š” ๋ฐฉ์‹. 3. ์œ„ ๋‘๊ฐœ๋ฅผ ํ˜ผํ•ฉํ•˜๋Š” ๋ฐฉ์‹ - ์œ„ ์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋‹ฌ๋ฆฐ ํ”„๋กœ์„ธ์„œ๋ฅผ - ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ”„๋กœ์„ธ์„œ multi..

[c++]'์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ C++17'์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌ(ing...)
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 5. 16. 17:37[c++]'์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ C++17'์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌ(ing...)

1. ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ…œํ”Œ๋ฆฟ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. template class Pinko { ... } - optional ์— ์ •์˜๋ผ ์žˆ์œผ๋ฉฐ, ์–ด๋–ค ํƒ€์ž…์˜ ๊ฐ’์ด ์žˆ๊ฑฐ๋‚˜ ์—†์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ‘œํ˜„ํ•œ๋‹ค. 2. ํ…œํ”Œ๋ฆฟ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ…œํ”Œ๋ฆฟ์„ ๋ฐ›์œผ๋ ค๋ฉด ํ…œํ”Œ๋ฆฟ ํ…œํ”Œ๋ฆฟ ๋งค๊ฐœ๋ณ€์ˆ˜(template template parameter)๋ผ๋Š” ํŠน์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. - ํ…œํ”Œ๋ฆฟ ํ…œํ”Œ๋ฆฟ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ์ผ๋ฐ˜ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋น„์Šทํ•˜๋‹ค. - ์ •์˜ํ•œ ์ปจํ…Œ์ด๋„ˆ(ํ…œํ”Œ๋ฆฟ ์„ ์–ธ๋ถ€: templateclass vector)๋ฅผ ํด๋ž˜์Šค ์ด๋ฆ„(vector)์„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„ (Contatiner)์œผ๋กœ ๋ฐ”๊พผ๋‹ค. template class vector{}; tmeplate class ..

[C++] ์ œ๋„ค๋ฆญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ์Œ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ c, c++2022. 5. 16. 17:36[C++] ์ œ๋„ค๋ฆญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ์Œ

์ œ๋„ค๋ฆญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๊ตฌํ˜„๋ผ ์žˆ์–ด์„œ ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ์ปจํ…Œ์ด๋„ค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ œ๋„ค๋ฆญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณง๋ฐ”๋กœ ์ปจํ…Œ์ด๋„ˆ์— ์ ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„ ๋ฐ˜๋ณต์ž(์ดํ„ฐ๋ ˆ์ดํ„ฐiterator)๋ผ ๋ถ€๋ฅด๋Š” ์ค‘๊ฐ„ ๋งค์ฒด๋ฅผ ๊ฑฐ์นœ๋‹ค. โ€ป ์ดํ„ฐ๋ ˆ์ดํ„ฐ begin( ), end( ) ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์˜ ๋ฐ”๋กœ ๋‹ค์Œ ์›์†Œ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ(์ •๋ฐฉํ–ฅ์œผ๋กœ) ํƒ์ƒ‰ํ•˜๋Š” non-const ๋ฐ˜๋ณต์ž๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. cbegin( ), cend( ) ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์˜ ๋ฐ”๋กœ ๋‹ค์Œ ์›์†Œ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ(์ •๋ฐฉํ–ฅ์œผ๋กœ) ํƒ์ƒ‰ํ•˜๋Š” const ๋ฐ˜๋ณต์ž๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. rbegin( ), rend( ) ๋งˆ์ง€๋ง‰ ์›์†Œ๋ถ€ํ„ฐ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์˜ ๋ฐ”๋กœ ๋‹ค์Œ ์›์†Œ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ(์—ญ๋ฐฉํ–ฅ์œผ๋กœ) ํƒ์ƒ‰ํ•˜๋Š” n..

728x90
image