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

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

KoreanFoodie's Study

[์–ธ๋ฆฌ์–ผ] Slate(์Šฌ๋ ˆ์ดํŠธ)์˜ ๊ตฌ์กฐ์™€ ์ฒ ํ•™ (๊ณต์‹ ๋ฌธ์„œ ํ•ด์„ค ๋ฐ ์ •๋ฆฌ)

์Šฌ๋ ˆ์ดํŠธ ๊ตฌ์กฐ (์•„ํ‚คํ…์ฒ˜) ์‚ฌ์‹ค ์–ธ๋ฆฌ์–ผ์—๋Š” ์ด๋ฏธ UMG ๋ผ๋Š”, ๋งค์šฐ ํŽธ๋ฆฌํ•œ ์œ„์ ฏ ๊ด€๋ จ ํˆด์ด ์กด์žฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ๋กœ UI ๋ฅผ ์ปจํŠธ๋กคํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์  ๋•Œ๋ฌธ์—, ์‹ค์ œ๋กœ ๋งŽ์€ ๊ณณ์—์„œ ์Šฌ๋ ˆ์ดํŠธ(Slate) ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์Šฌ๋ ˆ์ดํŠธ๋Š” ์–ด๋–ค ๋…€์„์ด๊ณ , ์–ด๋–ป๊ฒŒ ๋””์ž์ธ๋˜์–ด ์žˆ๋Š”์ง€, ๊ณต์‹ ๋ฌธ์„œ(๋ฒˆ์—ญ๋ณธ)๋ฅผ ํ†ตํ•ด ๋จผ์ € ๊ฐ„๋‹จํ•˜๊ฒŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜์ž! ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์Šฌ๋ ˆ์ดํŠธ๊ฐ€ ์ถ”๊ตฌํ•˜๋Š” ๋ฐฉํ–ฅ๊ณผ ์ฒ ํ•™์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค. ์ผ๋‹จ, ์—๋””ํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋Œ€๋ถ€๋ถ„์€ ์Šฌ๋ ˆ์ดํŠธ๋กœ ์ œ์ž‘๋˜์–ด ์žˆ๋‹ค. Contents Browser ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์—๋””ํ„ฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—๋””ํ„ฐ ๋“ฑ ์—”์ง„ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋Œ€๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค. ์Šฌ๋ ˆ์ดํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค : (๋ถˆํˆฌ๋ช… ์บ์‹œ์™€ ์ค‘๋ณต ์Šคํ…Œ์ดํŠธ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด. ์ „ํ†ต์ ์œผ๋กœ UI ๋Š” ์Šคํ…Œ์ดํŠธ๋ฅผ ..

Game Dev/Unreal C++ : Dev Log 2022. 12. 7. 16:29
[์–ธ๋ฆฌ์–ผ] ์–ธ๋ฆฌ์–ผ์—์„œ ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ(Dirty Flag) ํŒจํ„ด ์‚ฌ์šฉํ•˜๊ธฐ

๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ ํŒจํ„ด์ด๋ž€? ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ ํŒจํ„ด์— ๋Œ€ํ•ด์„œ๋Š”, ์ด์ „ ๋ธ”๋กœ๊ทธ ๊ธ€์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์–ธ๊ธ‰ํ•œ ๋ฐ” ์žˆ๋‹ค. ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ ํŒจํ„ด์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ Œ๋”๋ง ๊ณผ์ •์—์„œ, ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ, ํ•„์š”ํ•  ๋•Œ / ํ•„์š”ํ•œ ํƒ€์ด๋ฐ์— ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์ž์ฃผ ์“ฐ์ธ๋‹ค. ๋˜ํ•œ ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฒดํฌํ•ด UI ๋ฅผ ๊ฐฑ์‹ ํ•˜๊ฒŒ ๋˜๋ฉด, Tick ๋งˆ๋‹ค UI ์—…๋ฐ์ดํŠธ๊ฐ€ ์ค‘๋ณตํ•ด์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ํŒจํ„ด์„ ์–ธ๋ฆฌ์–ผ์—์„œ๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์„๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค UI ๋ฅผ ๊ฐฑ์‹  ํ•˜๋Š”๋ฐ,Dirty Flag ๋ฅผ ๋‘์–ด ํ•ด๋‹น ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ผœ์ ธ ์žˆ์„ ๋•Œ๋งŒ UI ๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ์ผ๋‹จ, ์‹ค์ œ๋กœ UI ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์—, ๋”ํ‹ฐ ํ”Œ๋ž˜๊ทธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ์œ„์ ฏ๋“ค์ด ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜..

Game Dev/Unreal C++ : Dev Log 2022. 12. 1. 18:09
[์–ธ๋ฆฌ์–ผ] ์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ - ์–ธ๋ฆฌ์–ผ ์œ„์ ฏ ๋””๋ฒ„๊น…

์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ ์–ธ๋ฆฌ์–ผ์˜ ์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด, ํ˜„์žฌ ํ”Œ๋ ˆ์ดํ•˜๊ณ  ์žˆ๋Š” ์ฐฝ์—์„œ ์–ด๋–ค ์œ„์ ฏ์ด ์–ด๋–ค ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€, visibility ์ƒํƒœ๋Š” ์–ด๋– ํ•œ์ง€ ๋“ฑ์„ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค(์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ : ์ฐฝ > ๊ฐœ๋ฐœ์ž ํˆด > ์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ). ๋” ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์ด๋“์šฐ๋‹˜ ๋ธ”๋กœ๊ทธ์˜ ์—๋””ํ„ฐ ํ™•์žฅ ๊ธฐ์ดˆ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์ž. ์œ„์˜ ํžˆํŠธ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ ์œ„์ ฏ์„ ๋ˆ„๋ฅด๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ”Œ๋ ˆ์ด ํ™”๋ฉด๊ณผ ์œ„์ ฏ ๋ฆฌํ”Œ๋ ‰ํ„ฐ ์ฐฝ์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค(์ด๋ฏธ์ง€๋Š” ๊ณต์‹ ๋ฌธ์„œ์—์„œ ๊ฐ€์ ธ์˜ด) ํ•ด๋‹น ์œ„์ ฏ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ์œ„์ ฏ์„ ๋„๊ณ  ํ‚ฌ ์ˆ˜๋„ ์žˆ์–ด ์œ„์ ฏ ๊ด€๋ จ ๋””๋ฒ„๊น…์— ๋งค์šฐ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด๋‹ค!

Game Dev/Unreal C++ : Study 2022. 11. 16. 19:53
Boost.Asio ์˜ ๊ฐœ๋… ๋ฐ ์š”์•ฝ ์ •๋ฆฌ

Asio ๋Š” Asynchronous IO ์˜ ์•ฝ์ž์ด๋‹ค. Asio ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์šฉ์–ด๋“ค์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. IO Service ํด๋ž˜์Šค : ์ปค๋„์—์„œ ๋ฐœ์ƒํ•œ ์ž…์ถœ๋ ฅ ์ด๋ฒคํŠธ๋ฅผ ๋””์ŠคํŒจ์น˜ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰. ๋””์ŠคํŒจ์น˜๋ž€, ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ž‘์—…์ด ์šฐ์„ ์ ์œผ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. IO Service ํด๋ž˜์Šค๋Š” ์ปค๋„์—์„œ ๋ฐœ์ƒํ•œ ๋„คํŠธ์›Œํฌ์ƒ์˜ ์ ‘์† ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ข…๋‹จ์ (Endpoint) : ๋„คํŠธ์›Œํฌ ์ƒ์˜ ํŠน์ • ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ. ๊ตฌ์ฒด์ ์œผ๋กœ IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ์˜ ํ•œ ์Œ์„ ์ข…๋‹จ์ ์ด๋ผ๊ณ  ํ•จ. DNS(Domain Name Server) : Boost Asio ์—์„œ๋Š” ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ด์šฉ, IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด์–ด ์ข…๋‹จ์ ์„ ๊ตฌํ•œ๋‹ค. ..

Game Dev/Game Server 2022. 11. 1. 14:09
IOCP์˜ ๊ฐœ๋… ๋ฐ ์š”์•ฝ ์ •๋ฆฌ

IOCP๋Š” CPU ๊ฐœ์ˆ˜๋งŒํผ๋งŒ ์“ฐ๋ ˆ๋“œ๋ฅผ ์“ฐ๋Š” ์„œ๋ฒ„์ด๋‹ค. IOCP ๋ฅผ ์‚ฌ์šฉํ•œ ๋ชจ๋“  Send/Recv ๋Š” Overlapped I/O ๋กœ ๋™์ž‘ํ•œ๋‹ค. ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ์ฝœ๋ฐฑํ•จ์ˆ˜๋“ค์„ ๋™์‹œ์— ๋™์ž‘ํ•ด์„œ ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค. IOCP๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” IOCP ๊ฐ์ฒด๋Š” ์ปค๋„ ์•ˆ์—์„œ ๊ด€๋ฆฌ๋œ๋‹ค. ์ปค๋„ ๋‚ด์—๋Š” DEVICE LIST ๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, ์†Œ์ผ“์„ IOCP ์— ๋“ฑ๋กํ•˜๋ฉด IOCP ๊ฐ์ฒด๋Š” DEVICE_LIST ์— ์†Œ์ผ“๋“ค์„ ๋“ฑ๋กํ•ด์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” DEVICE_LIST ๋ฅผ ์ง์ ‘ ๋ณด๊ฑฐ๋‚˜ ์ œ์–ดํ•  ์ˆ˜ ์—†๋‹ค. ํ๋ฆ„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์•ฝํ•ด ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค : I/O ๋””๋ฐ”์ด์Šค(์†Œ์ผ“, FD) IOCP ์— ๋“ฑ๋ก : CreateIoCompletionPrt ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋””๋ฐ”์ด์Šค์™€ CompletionPort(์ดํ•˜ CP) ๋ฅผ ๋ฐ”์ธ..

Game Dev/Game Server 2022. 11. 1. 14:07
๊ฒŒ์ž„ ์ˆ˜ํ•™ - ๋ณ€ํ™˜ ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ

์ด๋“์šฐ๋‹˜์˜ '์ด๋“์šฐ์˜ ๊ฒŒ์ž„์ˆ˜ํ•™' ์ฑ…์„ ๋ณด๋ฉฐ ์ข‹์€ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด, ์ฑ…์„ ๊ตฌ๋งคํ•ด ์ง์ ‘ ์ฝ์–ด๋ณด์‹œ๊ธฐ๋ฅผ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๋ณ€ํ™˜ ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ ๋‹ค์–‘ํ•œ ๋ณ€ํ™˜ ํ–‰๋ ฌ๋“ค์˜ ์—ญํ–‰๋ ฌ์„ ์•Œ์•„๋ณด์ž. ํฌ๊ธฐ ๋ณ€ํ™˜ํ–‰๋ ฌ ๊ฐ ๊ธฐ์ €๋ฒกํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ๊ฐ a, b ๋งŒํผ ํ‚ค์šฐ๋Š” ํฌ๊ธฐ ๋ณ€ํ™˜ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ „๋‹จ ๋ณ€ํ™˜ํ–‰๋ ฌ ํ‰ํ–‰์‚ฌ๋ณ€ํ˜• ์ฒ˜๋Ÿผ ๋ฏธ๋„๋Ÿฌ์ง€๊ฒŒ ์ƒ๊ธด ์ „๋‹จ ๋ณ€ํ™˜ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํšŒ์ „ ๋ณ€ํ™˜ํ–‰๋ ฌ ํšŒ์ „ ๋ณ€ํ™˜ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. θ ๋งŒํผ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์‹œํ‚ค๋Š” ํ–‰๋ ฌ์˜ ์—ญํ–‰๋ ฌ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, -θ ๋งŒํผ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „์‹œํ‚ค๋Š” ํ–‰๋ ฌ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋œ๋‹ค! ์‚ผ๊ฐํ•จ์ˆ˜์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Game Dev/Game Math 2022. 10. 29. 09:47
Effective Modern C++ ๋‚ด์šฉ ์š”์•ฝ ์ด ์ •๋ฆฌ ๋ฆฌ์ŠคํŠธ

์•ฝ ๋‘ ๋‹ฌ๊ฐ„ ์ฝ์œผ๋ฉฐ ์ •๋ฆฌํ•˜๊ณ  ์š”์•ฝํ•œ Effective C++ ์™€ Effective Modern C++ ๊ฒŒ์‹œ๊ธ€๋“ค์— ๋Œ€ํ•œ ๋ฆฌ์ŠคํŠธ ์š”์•ฝ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํ•˜์‹ค๋•Œ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ผ๋ฉฐ, ์ง์ ‘ ์‚ฌ์„œ ์ฝ์–ด๋ณด์‹œ๊ธธ ๊ฐ•์ถ”๋“œ๋ฆฝ๋‹ˆ๋‹ค! 1์žฅ ํ˜•์‹ ์—ฐ์—ญ ํ•ญ๋ชฉ 1: ํ…œํ”Œ๋ฆฟ ํ˜•์‹ ์—ฐ์—ญ ๊ทœ์น™์„ ์ˆ™์ง€ํ•˜๋ผ ํ•ญ๋ชฉ 2: auto์˜ ํ˜•์‹ ์—ฐ์—ญ ๊ทœ์น™์„ ์ˆ™์ง€ํ•˜๋ผ ํ•ญ๋ชฉ 3: decltype์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ˆ™์ง€ํ•˜๋ผ ํ•ญ๋ชฉ 4: ์—ฐ์—ญ๋œ ํ˜•์‹์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‘๋ผ 2์žฅ auto ํ•ญ๋ชฉ 5: ๋ช…์‹œ์  ํ˜•์‹ ์„ ์–ธ๋ณด๋‹ค๋Š” auto๋ฅผ ์„ ํ˜ธํ•˜๋ผ ํ•ญ๋ชฉ 6: auto๊ฐ€ ์›์น˜ ์•Š์€ ํ˜•์‹์œผ๋กœ ์—ฐ์—ญ๋  ๋•Œ์—๋Š” ๋ช…์‹œ์  ํ˜•์‹์˜ ์ดˆ๊ธฐ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ผ 3์žฅ ํ˜„๋Œ€์  C++์— ์ ์‘ํ•˜๊ธฐ ํ•ญ๋ชฉ 7: ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ๊ด„ํ˜ธ(())์™€ ์ค‘๊ด„ํ˜ธ({})๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ผ ํ•ญ๋ชฉ 8: 0๊ณผ NULL๋ณด๋‹ค nullptr๋ฅผ ์„ ..

Tutorials/C++ : Advanced 2022. 10. 27. 12:24
Effective C++ ๋‚ด์šฉ ์š”์•ฝ ์ด ์ •๋ฆฌ ๋ฆฌ์ŠคํŠธ

์•ฝ ๋‘ ๋‹ฌ๊ฐ„ ์ฝ์œผ๋ฉฐ ์ •๋ฆฌํ•˜๊ณ  ์š”์•ฝํ•œ Effective C++ ์™€ Effective Modern C++ ๊ฒŒ์‹œ๊ธ€๋“ค์— ๋Œ€ํ•œ ๋ฆฌ์ŠคํŠธ ์š”์•ฝ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํ•˜์‹ค๋•Œ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ผ๋ฉฐ, ์ง์ ‘ ์‚ฌ์„œ ์ฝ์–ด๋ณด์‹œ๊ธธ ๊ฐ•์ถ”๋“œ๋ฆฝ๋‹ˆ๋‹ค! Chapter 1 C++์— ์™”์œผ๋ฉด C++์˜ ๋ฒ•์„ ๋”ฐ๋ฆ…์‹œ๋‹ค ํ•ญ๋ชฉ 1: C++๋ฅผ ์–ธ์–ด๋“ค์˜ ์—ฐํ•ฉ์ฒด๋กœ ๋ฐ”๋ผ๋ณด๋Š” ์•ˆ๋ชฉ์€ ํ•„์ˆ˜ ํ•ญ๋ชฉ 2: #define์„ ์“ฐ๋ ค๊ฑฐ๋“  const, enum, inline์„ ๋– ์˜ฌ๋ฆฌ์ž ํ•ญ๋ชฉ 3: ๋‚Œ์ƒˆ๋งŒ ๋ณด์ด๋ฉด const๋ฅผ ๋“ค์ด๋Œ€ ๋ณด์ž! ํ•ญ๋ชฉ 4: ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๊ทธ ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ž Chapter 2 ์ƒ์„ฑ์ž, ์†Œ๋ฉธ์ž ๋ฐ ๋Œ€์ž… ์—ฐ์‚ฐ์ž ํ•ญ๋ชฉ 5: C++๊ฐ€ ์€๊ทผ์Šฌ์ฉ ๋งŒ๋“ค์–ด ํ˜ธ์ถœํ•ด ๋ฒ„๋ฆฌ๋Š” ํ•จ์ˆ˜๋“ค์— ์ด‰๊ฐ์„ ์„ธ์šฐ์ž ํ•ญ๋ชฉ 6: ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ํ•จ์ˆ˜๊ฐ€ ํ•„์š” ์—†์œผ๋ฉด ํ™•์‹คํžˆ ์ด๋“ค์˜ ์‚ฌ์šฉ์„ ..

Tutorials/C++ : Advanced 2022. 10. 26. 10:32
Effective Modern C++ | ํ•ญ๋ชฉ 42 : ์‚ฝ์ž… ๋Œ€์‹  ์ƒ์„ฑ ์‚ฝ์ž…์„ ๊ณ ๋ คํ•˜๋ผ

C++ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ํ•„๋…์„œ์ด์ž ๋ฐ”์ด๋ธ”์ธ, ์Šค์ฝง ๋งˆ์ด์–ด์Šค์˜ Modern Effective C++ ๋ฅผ ์ฝ๊ณ  ๊ธฐ์–ตํ•  ๋‚ด์šฉ์„ ์š”์•ฝํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ผญ ์ฝ์–ด๋ณด์‹œ๊ธธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ํ•ญ๋ชฉ 42 : ์‚ฝ์ž… ๋Œ€์‹  ์ƒ์„ฑ ์‚ฝ์ž…์„ ๊ณ ๋ คํ•˜๋ผ ํ•ต์‹ฌ : 1. ์ด๋ก ์ ์œผ๋กœ, ์ƒ์„ฑ ์‚ฝ์ž… ํ•จ์ˆ˜๋“ค์€ ์ข…์ข… ํ•ด๋‹น ์‚ฝ์ž… ๋ฒ„์ „๋ณด๋‹ค ๋” ํšจ์œจ์ ์ด์–ด์•ผ ํ•˜๋ฉฐ, ๋œ ํšจ์œจ์ ์ธ ๊ฒฝ์šฐ๋Š” ์ ˆ๋Œ€๋กœ ์—†์–ด์•ผ ํ•œ๋‹ค. 2. ์‹ค์งˆ์ ์œผ๋กœ, (1) ์ถ”๊ฐ€ํ•  ๊ฐ’์ด ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐ์ •๋˜๋Š” ๊ฒƒ์ด ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐ์ •๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์ƒ์„ฑ๋˜๊ณ , (2) ์ธ์ˆ˜ ํ˜•์‹(๋“ค)์ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‹ด๋Š” ํ˜•์‹๊ณผ ๋‹ค๋ฅด๊ณ , (3) ๊ทธ ๊ฐ’์ด ์ค‘๋ณต๋œ ๊ฐ’์ด์–ด๋„ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ฑฐ๋ถ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ƒ์„ฑ ์‚ฝ์ž… ํ•จ์ˆ˜๊ฐ€ ์‚ฝ์ž… ํ•จ์ˆ˜๋ณด๋‹ค ๋น ๋ฅผ ๊ฐ€๋Šฅ์„ฑ์ด ์•„์ฃผ ํฌ๋‹ค. 3. ์ƒ์„ฑ ์‚ฝ์ž… ํ•จ์ˆ˜๋Š” ์‚ฝ์ž… ํ•จ์ˆ˜๋ผ๋ฉด ๊ฑฐ๋ถ€๋‹นํ–ˆ์„ ํ˜•์‹ ๋ณ€ํ™˜๋“ค์„ ..

Tutorials/C++ : Advanced 2022. 10. 26. 10:09