Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1096)

KoreanFoodie's Study

[MiniEssay] ๋ถˆ์˜๋ฅผ ๋ณด๋ฉด ๊พน ์ฐธ๊ณ  ์ง€๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค

์•„๋ฒ„์ง€๋Š” ๋‚˜์—๊ฒŒ ์ด๋ฅด์…จ๋‹ค. ๋ถˆ์˜๋ฅผ ๋ณด๋ฉด ๊พน ์ฐธ๊ณ  ์ง€๋‚˜๊ฐ€๋ผ๊ณ . ์ž ๊น๋งŒ. ๋‚˜์—๊ฒŒ ๊ฐ€์ •๊ต์œก์˜ ์ค‘์š”์„ฑ์„ ์„คํŒŒํ•œ๋‹ค๊ฑฐ๋‚˜, ๋‚ด ์•„๋ฒ„์ง€์˜ ์ธ๊ฐ„์„ฑ์„ ์†๋‹จํ•˜์ง€๋Š” ์•Š์•˜์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ํ•œ๊ตญ๋ง์€ ๋๊นŒ์ง€ ๋“ค์–ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋ฒ•์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋งˆ์ง€๋ง‰์˜ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ž ์‹œ๋งŒ ํ˜ธํก์„ ๊ฐ€๋‹ค๋“ฌ์–ด ๋ณด์ž. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‚˜์—๊ฒŒ ์ œ์ผ ์กด๊ฒฝํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ๋ƒ๊ณ  ๋ฌป๋Š”๋‹ค๋ฉด, ๋‚˜๋Š” ์ž‘๋…„์—๋„, 5๋…„ ์ „์—๋„ ๊ทธ๋žฌ๋“ฏ ์•„๋ฒ„์ง€๋ฅผ ์–ธ๊ธ‰ํ•  ๊ฒƒ์ด๋‹ค. ์™œ ์•„๋ฒ„์ง€๋ฅผ ์ œ์ผ ์กด๊ฒฝํ•˜๋Š” ์ธ๋ฌผ๋กœ ๊ผฝ๋ƒ๊ณ ? ๋‹น์—ฐํ•˜๊ฒŒ๋„, ์•„๋ฒ„์ง€๊ฐ€ ์„ธ์ƒ์—์„œ ์ œ์ผ ๋ฉ‹์žˆ๋Š” ์‚ฌ๋žŒ์ด๊ธฐ์—, ๋Šฅ๋ ฅ์ด ์ •๋ง ์ถœ์ค‘ํ•˜์‹œ๊ธฐ์—... ๊ฐ™์€ ํ”ผ์ƒ์ ์ธ ์กฐ๊ฑด ๋•Œ๋ฌธ์€ ์•„๋‹ ๊ฒƒ์ด๋‹ค. ๋‹ค๋งŒ, ๋‚˜์—๊ฒŒ ์žˆ์–ด ๋„ˆ๋ฌด๋‚˜ ๊ณ ๋งˆ์šฐ์‹  ๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์—. ๋‚˜์—๊ฒŒ ์ข‹์œผ์‹  ๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ์ด์•ผ๊ธฐํ•  ์ˆ˜๋ฐ–์— ์—†๋Š”๊ฒŒ ์•„๋‹๊นŒ. ๋ฐ˜๋ฉด ํ•œ ๋ฒˆ๋„ ๋งŒ๋‚˜๋ณธ ์  ์—†๋Š”, ์–ด์ฉŒ๋ฉด ์ฃผ..

C++ ๊ธฐ์ดˆ ๊ฐœ๋… 5-3 : C++ ์บ์ŠคํŒ…, ๋””ํดํŠธ ์ธ์ž, ๋ฐ˜๋ณต์ž(iterator)

๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋‘์˜ ์ฝ”๋“œ์˜ ์”น์–ด๋จน๋Š” C++ ๊ฐ•์ขŒ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! C++ ์Šคํƒ€์ผ์˜ ์บ์ŠคํŒ… ๊ธฐ์กด์˜ C ์–ธ์–ด์—์„œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์•Œ์•„์„œ ์บ์ŠคํŒ…ํ•˜๋Š” ์•”์‹œ์ (implicit) ์บ์ŠคํŒ…๊ณผ, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์บ์ŠคํŒ…ํ•˜๋ผ๊ณ  ์ง€์ •ํ•˜๋Š” ๋ช…์‹œ์ (explicit) ์บ์ŠคํŒ…์ด ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ C++์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 4๊ฐ€์ง€์˜ ์บ์ŠคํŒ…์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. 1. static_cast : ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ƒ๊ฐํ•˜๋Š”, ์–ธ์–ด์  ์ฐจ์›์—์„œ ์ง€์›ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ํƒ€์ž… ๋ณ€ํ™˜ 2. const_cast : ๊ฐ์ฒด์˜ ์ƒ์ˆ˜์„ฑ(const)๋ฅผ ์—†์• ๋Š” ํƒ€์ž… ๋ณ€ํ™˜. ์‰ฝ๊ฒŒ ๋งํ•ด const int๊ฐ€ int๋กœ ๋ฐ”๋€๋‹ค. 3. dynamic_cast : ํŒŒ์ƒ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ์˜ ๋‹ค์šด์บ์ŠคํŒ… 4. reinterpret_cast : ์œ„..

Tutorials/C++ : Beginner 2021. 12. 22. 17:19
[MiniEssay] ์‹ธ๊ตฌ๋ ค ์†Œ์„ค

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

C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-5 : ๋ฌธ์ž์—ด ํด๋ž˜์Šค

๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋‘์˜ ์ฝ”๋“œ์˜ ์”น์–ด๋จน๋Š” C++ ๊ฐ•์ขŒ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ๋ฌธ์ž์—ด ํด๋ž˜์Šค ๊ธฐ์กด C์–ธ์–ด์—์„œ๋Š” ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰์— ๋„ ๊ฐ’('\0')์„ ์‚ฝ์ž…ํ–ˆ๋‹ค. C++์—์„œ๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ string ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, char* ๋Œ€์‹  string์„ ์‚ฌ์šฉํ•˜์ž! ์ง์ ‘ String Class๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๊ฒƒ์€ ์ข‹์€ ์—ฐ์Šต์ด ๋œ๋‹ค. ํ•„์š” ๋ช…์„ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ณ€์ˆ˜ : ๋ฌธ์ž์—ด ๊ธธ์ด, ๋ฌธ์ž์—ด ๋‚ด์šฉ, ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ๋ฉ”์†Œ๋“œ : ์ƒ์„ฑ์ž, ์†Œ๋ฉธ์ž, insert, erase, find, reserve, assign, compare ๋”๋ณด๊ธฐ์— ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋†“์•˜๋‹ค. ๋”๋ณด๊ธฐ ๋ชจ๋‘์˜ ์ฝ”๋“œ์—์„œ ์ œ์‹œํ•œ MyString ํด๋ž˜์Šค ์ฝ”๋“œ ์˜ˆ์‹œ : #include // str..

Tutorials/C++ : Beginner 2021. 12. 21. 15:23
[MiniEssay] ๋‹ค๋ฅธ ์˜ท, ๊ฐ™์€ ์–ผ๊ตด

์‚ฌ๋žŒ๋“ค์€ ์ „๋ถ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ์˜ท์„ ์ž…๊ณ  ์žˆ๋‹ค. ์˜ค๋Š˜๋„ ์ˆ˜๋งŽ์€ ํ–‰์ž๋“ค์€ ๋‚จ๋“ค๊ณผ ๋‹ค๋ฅธ ์ฒœ์ชผ๊ฐ€๋ฆฌ๋ฅผ ๊ฐ–๊ธฐ ์œ„ํ•ด ๋ฐฑํ™”์ ์„ ๊ฑท๊ณ  ๋˜ ๊ฑท๋Š”๋‹ค. ๋’ค์ ๊ฑฐ๋ฆฐ๋‹ค. ์‚ฌ๋ง‰์—์„œ ๋ฐ”๋Š˜์„ ์ฐพ๋“ฏ์ด, ๋์—†๋Š” ํƒ๊ตฌ์‹ฌ์€ ๋ฉˆ์ถœ ์ค„์„ ๋ชจ๋ฅธ๋‹ค. ์ง€์น˜์ง€๋„ ์•Š๋‚˜ ๋ณด๋‹ค. ์™œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์€ ๋‚จ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž…์œผ๋ ค ํ•˜๋Š” ๊ฑธ๊นŒ. ๊ฐ™์œผ๋ฉด์„œ๋„ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ. ๋น„์Šทํ•˜๋ฉด์„œ๋„ ํŠน์ƒ‰์žˆ๊ฒŒ. ์™œ์ผ๊นŒ. ๋ชจ๋‘๊ฐ€ ๊ฟˆ๊พธ๋Š” ๋˜‘๊ฐ™์€ ์–ผ๊ตด์„ ๊ฐ–๊ธฐ ์œ„ํ•ด ๋ถ„์ฃผํ•˜๋ฉด์„œ, ์˜ท์—๋Š” ์™œ. ๊ฐ•๋‚จ์–ธ๋‹ˆ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ผ์Ÿ์ด๋ผ๋Š” ์˜ค๋ช…๋„ ๊ฐ์ˆ˜ํ•˜๋ฉด์„œ ์™œ. ๋˜‘๊ฐ™์€ ๋ˆˆ, ๋˜‘๊ฐ™์€ ์ฝ”, ๋˜‘๊ฐ™์€ ์ž…์„ ๊ฐ–๊ธธ ๋ฐ”๋ผ๋Š” ์‚ฌ๋žŒ๋“ค. ํ•˜์ง€๋งŒ ์œ ๋… ์˜ท์—๋Š” ๋„ˆ๊ทธ๋Ÿฝ์ง€ ๋ชปํ•œ ์‚ฌ๋žŒ๋“ค. ๊ด€๋Œ€ํ•จ์„ ๊ฒฝํ—˜ํ•˜์ง€ ๋ชปํ•œ, ๋ถˆ์Œํ•œ ์˜ท๋“ค์—๊ฒŒ ์‹ฌ์‹ฌํ•œ ์œ„๋กœ๋ฅผ ๊ฑด๋‚ด๊ณ  ์‹ถ์€ ๋‚ ์ด๋‹ค. ์„ ํƒ๋ฐ›์ง€ ๋ชปํ•œ ํ”ผ์กฐ๋ฌผ์—๊ฒŒ ์ถ•๋ณต์„. ๋‹ค์Œ ์ƒ์—๋Š” ๋ˆ„๊ตฐ๊ฐ€์˜ ์˜ท์žฅ์— ๊ฑธ๋ ค ์žˆ๊ธฐ๋ฅผ.

C++ ๊ธฐ์ดˆ ๊ฐœ๋… 4-4 : ์ƒ์„ฑ์ž ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ, static ๋ณ€์ˆ˜, this ํฌ์ธํ„ฐ, const ๋ฉค๋ฒ„ ํ•จ์ˆ˜

๋ชจ๋‘์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ชจ๋‘์˜ ์ฝ”๋“œ์˜ ์”น์–ด๋จน๋Š” C++ ๊ฐ•์ขŒ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! ์ƒ์„ฑ์ž์˜ ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ(initializer list) ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž. class Test { int a; int b; Test(); } Test::Test() : a(1), b(2) {} ์œ„์˜ ์˜ˆ์‹œ์—์„œ, (์ƒ์„ฑ์ž ์ด๋ฆ„) : var1(arg1), var2(arg2) ... ๊ฐ™์€ ํ˜•์‹์„ ์จ ์ฃผ๋ฉด, ์ƒ์„ฑ์ž ํ˜ธ์ถœ๊ณผ ๋™์‹œ์— ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋“ค์„ ์ดˆ๊ธฐํ™”ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. "๋™์‹œ์—"๋ผ๋Š” ๊ฐœ๋…์ด ์ค‘์š”ํ•˜๋‹ค. ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒ์„ฑ์„ ๋จผ์ € ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ๋Œ€์ž…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๋Š” int a = 10; ์™€ ๊ฐ™๊ณ , ์ผ๋ฐ˜ ๋ฒ„์ „์˜ ์ƒ์„ฑ์ž๋Š” int a; a = 10; ์ฒ˜..

Tutorials/C++ : Beginner 2021. 12. 20. 19:48