[C++] std::optional์ ๋ชจ๋ ๊ฒ
ยท
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด/C++ ์์ฉ
std::optional์ ๋ํ ์์ธํ ์ค๋ช
๊ณผ ์ค๋ฌด ์์ std::optional์ C++17์์ ๋์
๋ ๋งค์ฐ ์ ์ฉํ ๊ธฐ๋ฅ์ผ๋ก, ๊ฐ์ด "์์ ์๋ ์๊ณ ์์ ์๋ ์๋" ์ํฉ์ ์์ ํ๊ณ ๋ช
์์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค. ์ด๋ ์ด์ ์ nullptr, NULL, ํน์ ํน๋ณํ ๊ฐ(์: -1)์ ์ฌ์ฉํ์ฌ "๊ฐ ์์"์ ํํํ๋ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ๋ ์์ ํ๊ณ ๋ช
ํํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ค๋๋ค.1. std::optional์ ๊ธฐ๋ณธ ๊ฐ๋
std::optional์ ํ
ํ๋ฆฟ ํด๋์ค์ด๋ฉฐ, ์ด๋ค ํ์
T์ ๋ํด std::optional๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด ํ์
์ T ํ์
์ ๊ฐ์ ๊ฐ์ง ์๋ ์๊ณ , ๊ฐ์ด ์์์ ๋ํ๋ด๋ std::nullopt ์ํ์ผ ์๋ ์์ต๋๋ค.์ ์ธ ๋ฐ ์ด๊ธฐํ:std::optional maybeInt;std::o..