๋ํฌ๋ค๋ ์ ๋ํฐ๋ผ๋๊ฐ ์จ์พ ๋ฌธ๋ฒ ๊ฐ์ง๊ณ ย ์น๊ณ ๋ฐ๊ณ ์ธ์ฐ๋ฉด ์๋จ?
๊ฐ๊ฑด๋ ๋ถ๊ตฌ๊ฒฝ ํ๋๊ฒ ๊ฐ์ฅ ๊ฟ์ผ์ด๊ธด ํ๋ฐ
์์ฆ ๋ก๋ฐฅ ์๋์์ ์ฌ์ฌํ๋ค
๋ํฌ๋ค๋ ์ ๋ํฐ๋ผ๋๊ฐ ์จ์พ ๋ฌธ๋ฒ ๊ฐ์ง๊ณ ย ์น๊ณ ๋ฐ๊ณ ์ธ์ฐ๋ฉด ์๋จ?
๊ฐ๊ฑด๋ ๋ถ๊ตฌ๊ฒฝ ํ๋๊ฒ ๊ฐ์ฅ ๊ฟ์ผ์ด๊ธด ํ๋ฐ
์์ฆ ๋ก๋ฐฅ ์๋์์ ์ฌ์ฌํ๋ค
๋ด๊ฐ ์ฝ๋ฉ์ ๋ชฐ๋ผ์ ๊ทธ๋ฌ๋๋ฐ ์ ๊ทธ๋ฐ๊ฑธ๋ก ์ธ์ฐ๋๊ฑฐ์ผ? ๊ฐ๋ฐํ ๋ ์ ๋ง ์ค์ํ ๋ถ๋ถ์ด๋ผ์ ๊ทธ๋ฐ๊ฐ?
ใ ใ ํจ์ ํฌ์ธํฐ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ด ๋๋ค ๊ด๋ จํด์์, ๋๋ค๊ฐ ์บก์ฒ ์์ผ๋ฉด ์ปจ๋ฒํ ์ด ์๋๊ณ , ์์ผ๋ฉด ์์์ ์ผ๋ก ๋ณํ์ ํด์ฃผ๋๋ฐ [](){cout<<""<
์ด๋ void(*)(void)๋ ์ ์ด์ ํ์ ์ด ๋ค๋ฅด๊ณ c++ 20๋ฒ์ ๋ถํด ๋๋ค ์์ฉํ ๋ฌธ๋ฒ๋ค์ด ์๋ก์ด ๋ฑ์ฅ๋๊ณ ์์ํ c์คํ์ผ์ ํจ์ํฌ์ธํฐ๋ ๋ฐฐ์ ์ํค๋๊ฒ ๋ชฉ์ ์ธ๋ฐ ์ํผ ๊ทธ๊ฑฐ์
์ค๋ช ํด์ค๊ฑด ๊ณ ๋ง์ด๋ฐ ๊ด๋ จ์ง์์ด ์์ด์ ์ดํด๋ ๋ชปํจ ์ด์จ๋ ๊ณ ๋ง์ ใ ใ
ใ ใ ๋ค์ ์งค๋ ธ๋ค ์ฝ๊ฒ ๋งํด์ c#๋ก ๋น์ ํ์๋ฉด c++์ ์ ๋ฒ์ ์ด 17 ์ด๋ฒ ๋ฒ์ ์ด 20์ด๋ฉด, 17๋ฒ์ ์ delegate๋ฅผ ์ฐ๋ค๊ฐ 20๋ฒ์ ์ action func๋ฅผ ์์ฉํ ๋ฌธ๋ฒ์ด ๋ ์๋ก ๋ฑ์ฅํ๋ค ์ฝ๊ฐ ์ด๋ ๊ฒ ์ดํดํ๋ฉด ๋ ๊ฑฐ๊ฐ์
๊ทธ๋ผ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฅธ๊ฑด๋ฐ ์ธ์ธ ์ด์ ๊ฐ ์๋๊ฑฐ ์๋?
stl์ ๋ฌธ์ ์ ์ด 90๋ ๋ ๊ธฐ์ ๋ค์ด๋ผ ๊ต์ฅํ ๋ก์ ์ค๋๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ํ๊ณค ๋ง์ง๊ฐ ์์๋ฟ๋๋ฌ ๊ตฌํ์กฐ์ฐจ ๋ถ๊ฐ๋ฅํ ๊ธฐ๋ฅ๋ค์ด ๋ฌด์ํ ๋ง๊ธฐ ๋๋ฌธ์ ๊ณ์ํด์ ๋ฒ๋ ค์ผ๋๋๋ฐ ๋ง์ฝ์ ์๋ก์ด ํจ๋ฌ๋ค์์ ์ ์ฉํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ฉด ๋น์ฐํ ๊ทธ์ ๋ฌธ๋ฒ์ ์ฌ์ฉ ๋ชปํ๊ฒ ๋ ๊ฒ์ด๊ณ ์๋ก์ด ๊ตฌํ ๋ฐฉ์๊ณผ ํจ๋ฌ๋ค์์ ๋ง๋ฅ๋จ๋ ค์ผ๊ฒ ์ง
for๋ฌธ์ด ๋ณ๋ while๋ฌธ์ด ๋ณ๋
์์
ํฌ์ธํฐ ์ผ๋ถ๋ฌ ๋ฐฐ๋ฐฐ ๊ผฌ์๋๊ณ ์ธ์์์ ์ ์ผ ์ด๋ ค์ด ์ธ์ด ์ด์ง๋ํ๋๊ฑฐ ์ง์ง ๋ณ์ ๊ฐ์
22 ์ค์ ๋ก ์ฝ๋ ๊ทธ๋ ๊ฒ ์ฐ๋ฉด ์ ๊ฐ์ณ๋จน๋๋ฐ ๋ญ ์๋ฏธ๊ฐ ์๋ ๊ฑ ๊ณต๋ถ ๋ชฉ์ ์ด๋ฉด ๋ชฐ๋ผ๋
์ ์ ๋ณ์ ์ธ์ด๊ฐ ๋์ด๊ฐ๊ณ ์๊ธดํ์ง ํนํ 20๋ฒ์ ๋ถํด ํ ํ๋ฆฟ, ๋๋ค, std::function, ๋ค ์งฌ๋ฝ์ํค๋ฉด์ ์ด์ ์ ๋๊ตญ์ด ๋ฐ๋ก์์
๋ด๊ฐ c++ ์ฐ๋ ์์ ๋ง ํด๋ ํ ํ๋ฆฟ ๋๋ฐฐํด์ ์์ ๋ค๋ฅธ ์ธ์ด ๋ง๋ค์ด์ ์ฐ๋ ์ธ๊ฐ๋ค ์ฒ์ง์๋๋ฐ
https://oleksandrkvl.github.io/2021/04/02/cpp-20-overview.html#lambda-features
์ด๊ฑฐ ๋ณด๋ฉด ํ ๋์ฌ๊ฑฐ์ใ ใ ์ด๋ ํ ๋ฌธ๋ฒ์๋ ์กด์ฌํ์ง ์๋ c++๋ง์ ๋๋ค์๊ณผ ()[]{}; ์ ํ ํ๋ฆฟ์ ์์ผ๋ฉด ์ด๋ป๊ฒ ๋๋์ง
์ฌ๊ธฐ์ ๋ค์ ๋์ ์ ํ๋ฒ๋ก์ธ์ฐ์์
ใ ใ ใ ใ ใ ๊ทธ๋ฌ๋ฉด ์ธ๋๊ฒ๊ฐค ์ ๋ค์ ๋ก๋ฐฅ์ด ๋ ์ธ๊ฒ ๋จนํ๋ค๋๊ฑด๊ฐ? ์ ๊ทผ๋ฐ ๋ ธ๋ ฅ๋ ์ํด๋ณธ ์ ๋ค์ด ํ๋ฒ๋ก ๊ฐ์ง๊ณ ์ฐก์ฐก๋๋๊ฑด ๊ผด๋ถ๊ฒฌ์ด๋๋ผ
๊ฑฐ๊ธด ๊ฐค์ปจ์ ์ด ํ์คํ๋
๋ญ ์์์ผ ์ธ์ฐ๋ ์ง ๋ง๋ ์ง ํ์ง
์์ผ
๊ฑฐ๊ธฐ ๊ฐค ์์ค ๋๋ฌด ๋ฎ์ - dc App
ํ๊ฐค๋ ๊ทธ๋ ๊ณ ๋๋ฌด ๋์กฐ๊ฐ ๋๋๋ผ ์คํ์ค๋ฒํ๋ก์ฐ ๊ฐ์ ๊ณณ์ ์ค์ ๋ฒํ๋ฉด ์์๋ผ๋๊ฐ ์ค๋ช ํด์ฃผ๋ฉด์ ์ง์ ํด์ฃผ๊ณ ํ ๋ก ์ ๊ฑฐ์น๋ฉด์ ์๋ก ์ผ์ฐ์ผ์ฐํ๋ฉด์ ๋ฐฐ์ฐ๋๋ฐ ๊ฑฐ๊ธด ๋๋๊ณ ์๋ถํฐ ๋ฐ๊ณ ์น๋ชฉ์ธ์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๊ฑ๋ค๋ค๋ผ๋ฆฌ์ ์กฐ๋ฆฌ๋๋ฆผ ํ๋๋ผ ใ ใ
๋ง์ ๊ทธ๋ฐ๊ฒ๋ ๊ทธ๋ ๊ณ ๋ก๋ฐฅ ์์ค๋ ๋ฎ์ C++ ์ ๋๋ก ์์ง๋ ๋ชปํ๋ฉด์ ์๊ธฐ๊ฐ ์ ๋ฌธ๊ฐ๋ผ๋ ๋๋ ์ ๋ ๋ค์ด๋๋๊ฒ ์กด๋ ๊ฐ์๋ก์ - dc App
๋ ๊ธ ๋ณด๋๊น ์ํ๋๊ฑฐ ๊ฐ๋๋ฐ ์์ด์ ๋ฆฌ ํ ๋ฒ ํ๊ณ ์ค๋๊ฒ๋ ๊ด์ฐฎ์๋ฏใ ใ ใ ใ
ใ ใ ใ ใ ใ ใ ์๊ฐ๋ญ๋น์ผ - dc App
์ฌ๊ธด ํ๋ฐ ์๊ธฐํ๋ ๊ฐค ์๋๋๊น ๊บผ์ง๋ผ๊ณ ์ง์๋นํจ