"c++20 STL::Container #2"
1. contains
๊ธฐ์กด map, set ๋ฐ์ดํฐ findํจ์ ์ฌ์ฉ ์ ๋ฐ๋ณต์์ end๋ฐ๋ณต์๊ฐ ๊ฐ์ง ์์ ์ง ๋น๊ตํ๋ ๋ฐฉ์์ด์๋ค.
std::set s {1, 2, 3, 4, 5};
auto findset = s.find(2);
if (findset != s.end())
{
cout << *findset << endl;
}
std::map<int, int> m {{1, 1000}, { 2, 2000 }};
auto findmap = m.find(2);
if(findmap != m.end())
{
cout << findmap->second <<endl;
}
c++20์์ ์๋ก ์ถ๊ฐ ๋ contains๋ associate container์ ๋ด์ฅํจ์๋ก ์ฐพ์ผ๋ ค๋ ํค๊ฐ์ ๋ฃ์ผ๋ฉด true, false๋ก ๊ทธ key์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ์ ์ ์๋ค.
if (findset.contains(2))
{
cout << "์๋ค!" << endl;
}
if (findmap.contains(2))
{
cout << "์๋ค!" << endl;
}
2. starts_with, ends_with
std::string / string_view ์ ์ถ๊ฐ ๋ ๋ด์ฅํจ์๋ก perfix/suffic checking ์ ๋์ฌ์ ์ ๋ฏธ์ฌ๋ฅผ ์ฒดํฌ ํ ์ ์๋ ํจ์๊ฐ c++20์ ์๋ก ์๊ฒผ๋ค.
std::string str = "Hello World";
std::string str2 = "Hello";
bool a = str.starts_with("Hello");
bool b = str.ends_with("World");
bool c = str.starts_with(str2);
a, b, c๋ ๋ชจ๋ true๋ฅผ ๋ฆฌํดํ๋ค.
์๋ง ๊ฒ์์ ์์์๋ ๋ฆฌ์์ค ๊ด๋ฆฌํ ๋ image_XXX, map_XXX, Effect_XXX ์ด๋ฐ์์ผ๋ก ์์ ์ ๋์ฌ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์ด๋ ์์ฃผ ์ฌ์ฉํ ๊ฑฐ ๊ฐ๋ค.
๋ฐ์ด์ฉ ~
1. ๋ด์ฉ ์ถ์ : ์ธํ๋ฐ Inflearn - Rookiss ์ค ๊ฐ์์ธ C++20 ํ์ด๋ณด๊ธฐ ์ค.
2.https://en.cppreference.com/w/
'๐จ๐ปโ๐ป programming > โฝ c, c++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(c++) ํจ์ ๋ค const (0) | 2024.06.27 |
---|---|
(c++20) STL::Container #1 - std::to_array, erase, erase_if (0) | 2024.06.17 |
(c++20) Conditional Explicit Constructor (0) | 2024.06.17 |
(c++20) [Three-way Comparsion(3๋ฐฉํฅ ๋น๊ต ์ฐ์ฐ์)/์ฐ์ฃผ์ ] ์ฐ์ฐ์ (0) | 2024.06.14 |
(c++20) consteval, constinit (0) | 2024.06.14 |
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!