<aside>
๐ก
cpp14
-
New Language Features
-
New Library Features
- <concepts>
- <bit>
std::byteswap(uint32_t) โ x์ ๋ฐ์ดํธ ์์๋ฅผ ๋ค์ง์
-
์นด๋๋ผ
1.ย ๋ฌธ๋ฒ ๋ฐ ์ธ์ด ๋ณํ
- if consteval
if consteval๋ก ํ์ฌ ์ปจํ
์คํธ๊ฐย consteval์ธ์ง ํ๋ณ ๊ฐ๋ฅ
- static operator()
- ๋๋ค์ย
staticย ์ฌ์ฉ ๊ฐ๋ฅ
- Multidimensional subscript operator
- ๋ค์ฐจ์ ๋ฐฐ์ด์์ย
operator[]ย ๋์ ย operator[](...)ย ์ง์ (ex:ย mat[i, j])
- deducing this
- ๋ฉค๋ฒ ํจ์์์ย
this์ ํ์
์ถ๋ก ๊ฐ๋ฅ (Self ํ์
๋ฐํ, ํ๋ฃจ์ธํธ ์ธํฐํ์ด์ค์ ์ ์ฉ)
- explicit object parameter
- ๋ฉค๋ฒ ํจ์ ์ฒซ ํ๋ผ๋ฏธํฐ์ย
explicit object๋ก ๊ฐ์ฒด๋ฅผ ์ง์ ์ง์
2.ย ๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํ์ค ๊ธฐ๋ฅ
- std::expected
- ํจ์ ๋ฐํ๊ฐ์ ์ฑ๊ณต/์คํจ(์๋ฌ ์ ๋ณด) ํํ (Rust์ Result์ ์ ์ฌ)
- std::print / std::println
- ํ์ด์ฌ์ print์ฒ๋ผ ๊ฐ๋จํ ํ์ค ์ถ๋ ฅ ํจ์
- std::format ํ์ฅ
- ํฌ๋งคํ
๊ธฐ๋ฅ ๋ณด๊ฐ, ์ ๋์ฝ๋/๋ก์ผ์ผ ๋์
- std::ranges ๋ณด๊ฐ
- range-based ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ/๊ธฐ๋ฅ ์ถ๊ฐ (
ranges::to,ย ranges::containsย ๋ฑ)
- std::flat_map, std::flat_set
- ๋ฒกํฐ ๊ธฐ๋ฐ ์ ๋ ฌ ๋งต/์
(๋น ๋ฅธ ํ์)
- std::move_only_function
- move-only(์ด๋ ์ ์ฉ) ํจ์ ๋ํผ
- std::generator
- ํ์ด์ฌ์ generator/yield์ ์ ์ฌํ ๊ธฐ๋ฅ
3.ย ๊ธฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/์ ํธ๋ฆฌํฐ
- std::stacktrace
- ๋ฐํ์ ์คํํธ๋ ์ด์ค(์ฝ์คํ) ์ฝ๊ฒ ์ถ๋ ฅ ๊ฐ๋ฅ
- std::mdspan
- ๋ค์ฐจ์ ๋ฐฐ์ด ๋ทฐ/๋ํผ (๊ณผํ/ํ๋ ฌ ๊ณ์ฐ์ ์ ์ฉ)
- std::optional/variant ๊ฐ์
- ์ปจํ
์ด๋, ๋ฐ๋ณต์, ์๊ณ ๋ฆฌ์ฆ ๋ฑ ๋ค์ํ ๊ฐ์
4.ย ์ ์ํ/์ ๋์ฝ๋
- ์ ๋์ฝ๋/UTF-8 ๊ด๋ จ ๊ธฐ๋ฅ ๋ณด๊ฐ
- std::out_ptr, std::inout_ptr
- ํฌ์ธํฐ ๋ณํ ํตํฉ(์์ฃผ ์ฌ์ฉ๋๋ C API์ ์ฐ๊ฒฐ์ฑ ๊ฐํ)
โ
ย ์ค๋ฌด์์ ๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ํญ๋ชฉ
- std::expected: ์๋ฌ ์ฒ๋ฆฌ/ํจ์ ๋ฐํ ํจํด ํ์
- std::print/println: ๊ฐํธ ํ์ค ์ถ๋ ฅ
- std::generator: yield/์ ๋๋ ์ดํฐ(์ฝ๋ฃจํด ํ์ฉ)
- std::flat_map/flat_set: ๋น ๋ฅด๊ณ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ์ปจํ
์ด๋
- std::mdspan: ๋ค์ฐจ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
</aside>