๋ ˆ์ด๋ธ”์ด cpp์ธ ๊ฒŒ์‹œ๋ฌผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒŒ์‹œ๋ฌผ ํ‘œ์‹œ
๋ ˆ์ด๋ธ”์ด cpp์ธ ๊ฒŒ์‹œ๋ฌผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒŒ์‹œ๋ฌผ ํ‘œ์‹œ

◤ 2022๋…„ 8์›” 10์ผ ์ˆ˜์š”์ผ

● C++ ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ์ค„์ด๋Š” ํŒ

※ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ์ผ์ƒ ๋ฉ”๋ชจ์™€ ๊ธฐ๋ก์„ ์œ„ํ•œ ๊ณณ์ž…๋‹ˆ๋‹ค.





# C++ ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ์ค„์ด๋Š” ํŒ (MS ๋ธ”๋กœ๊ทธ)
https://devblogs.microsoft.com/cppblog/recommendations-to-speed-c-builds-in-visual-studio/

#include remover

◤ 2022๋…„ 8์›” 5์ผ ๊ธˆ์š”์ผ

● ๊ทธ๋ž˜ํ”ฝ์Šค 9์ผ์ฐจ ์ˆ˜์—…

※ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ์ผ์ƒ ๋ฉ”๋ชจ์™€ ๊ธฐ๋ก์„ ์œ„ํ•œ ๊ณณ์ž…๋‹ˆ๋‹ค.







# 9์ผ์ฐจ

- RTTI ์ฝ”๋“œ ์ถ”๊ฐ€
    
    [Custom RTTI](https://www.notion.so/Custom-RTTI-1dd5033465a64f7db6a8e7200fbc65a0)
    
- ์ฐธ๊ณ  : [https://www.codeproject.com/Tips/1068171/Cplusplus-Custom-RTTI](https://www.codeproject.com/Tips/1068171/Cplusplus-Custom-RTTI)
- ์—”ํ‹ฐํ‹ฐ - ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ ์ ์šฉ
    - [https://gameprogrammingpatterns.com/component.html](https://gameprogrammingpatterns.com/component.html)
- ํŠธ๋žœ์Šคํผ ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
- ๋ฌผ์ฒด ๋‘๊ฐœ ๊ทธ๋ฆฌ๊ธฐ

The Modernest C++ #4 - ์ปดํฌ๋„ŒํŠธ์™€ ํ…œํ”Œ๋ฆฟ ๋ฉ”ํƒ€ํ”„๋กœ๊ทธ๋ž˜๋ฐ ไธŠ
https://gamedevforever.com/m/347

◤ 2022๋…„ 8์›” 4์ผ ๋ชฉ์š”์ผ

● ํ˜•์‹ ์—ฐ์—ญ? type deduction??

※ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ์ผ์ƒ ๋ฉ”๋ชจ์™€ ๊ธฐ๋ก์„ ์œ„ํ•œ ๊ณณ์ž…๋‹ˆ๋‹ค.





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

๊ทธ๋Ÿฐ๋ฐ Effective Modern C++์—์„œ ์ €์ž ์Šค์ฝง ๋งˆ์ด์–ด์Šค(SM)๋Š” ์ผ๊ด€๋˜๊ฒŒ type deduction, ์ฆ‰ ‘ํ˜•์‹ ์—ฐ์—ญ’์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฒˆ์—ญ์„œ p.27์ด๋‚˜ p.45๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ, SM์ด ์• ์ดˆ์— ํ˜•์‹ ์ถ”๋ก ์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ๋ชฐ๋ž๋˜ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ํŠนํžˆ, p.45๋ฅผ ๋ณด๋ฉด type inference๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ธ๊ณ„์—์„œ “ํ”ํžˆ ์“ฐ์ธ๋‹ค”๋Š” ์ ๋„ ์•Œ๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.   

๊ณ„์† ๋ณด๊ธฐ => https://occamsrazr.net/tt/311



◤ 2022๋…„ 8์›” 1์ผ ์›”์š”์ผ

● Effective Modern C++ ๊ณต๋ถ€ 1์ผ์ฐจ

※ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ์ผ์ƒ ๋ฉ”๋ชจ์™€ ๊ธฐ๋ก์„ ์œ„ํ•œ ๊ณณ์ž…๋‹ˆ๋‹ค.





1. ํ˜•์‹ ์—ฐ์—ญ(type deduction)์ด๋ž€?

2. ํ…œํ”Œ๋ฆฟ(template)์ด ๋ญ์•ผ?

3. ํƒ€์ž…์ด๋ฆ„(type name)์ด ๋ญ ์–ด์ฉŒ๋ผ๊ณ ?

4. ์—ฐ์—ญ์€ expr์˜ ํ˜•์‹์— ์˜์กดํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ParamType์˜ ํ˜•ํƒœ์—๋„ ์˜์กดํ•œ๋‹ค?