-
[C++] C++์ด๋? string ํด๋์คc & c++ 2022. 9. 19. 02:15
๐ก C++
1. ์ ์ฐจ ์งํฅ์ ์ด๋ฉฐ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
2. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
3. ์ผ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
๐ก ๋ค์์คํ์ด์ค namespace
: ์์๋ ๊ณต๊ฐ
ex) using namespace std; // std๋ผ๋ ๋ค์์คํ์ด์ค์ ์ํ ์ ์๋ค์ std::๋ฅผ ๋ถ์ด์ง ์์๋ ์ฌ์ฉํ ์ ์์
๐ก ํ์ค ์ ์ถ๋ ฅ
: #include <iostream>
โ cout : ์ถ๋ ฅ
std::cout << "Hello";
โ cin : ์ ๋ ฅ(ํ ๋จ์ด ๋จ์)
std::cin >> ์ ์ฅํ ๋ณ์;
๐ก ํฌ์ธํธ ๋ฆฌํฐ๋ด ์์
: nullptr
: nullptr == 0 => true
๐ก ๋ฒ์ ์ง์ ์ฐ์ฐ์(::)
1. ::์๋ณ์
2. ํด๋์ค์ด๋ฆ::์๋ณ์
3. ๋ค์์คํ์ด์ค::์๋ณ์
4. ์ด๊ฑฐ์ฒด::์๋ณ์
๐ก ๋ฉค๋ฒ ํฌ์ธํฐ ์ฐ์ฐ์
: ๋ฉค๋ฒ ํฌ์ธํฐ ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ ์ ์.
1. ํด๋์คํ์ ์๊ฐ์ฒด.*๋ฉค๋ฒ์ด๋ฆ
2. ํด๋์คํ์ ๊ฐ์ฒด์ํฌ์ธํฐ->*๋ฉค๋ฒ์ด๋ฆ
๐ก typeid ์ฐ์ฐ์
: ๊ฐ์ฒด์ ํ์ ์ ๊ดํ ์ ๋ณด ํ์ธ
: typeid(ํํ์)
๐ก ํฌ์ธํฐ
: ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ์ ์ ์ฅํ๋ ๋ณ์, ํฌ์ธํฐ ๋ณ์
โ ์ฃผ์ ์ฐ์ฐ์(&)
: &๋ณ์๋ช
: ํด๋น ๋ณ์์ ์ฃผ์๊ฐ์ ๋ฐํ, ๋ฒ์ง ์ฐ์ฐ์
โ ์ฐธ์กฐ ์ฐ์ฐ์(*)
: ํฌ์ธํฐ๋ช /์ฃผ์ ์์ ์ฌ์ฉ, ํฌ์ธํฐ์ ์ง์ ๋ ์ฃผ์์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ ๋ฐํ
๐ก ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
: ๋ฐ ํ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋๊ฒ
โ ๋ฐ์ดํฐ ์์ญ, ์คํ ์์ญ์ ํ ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ ์ปดํ์ผ ํ์์ ๋ฏธ๋ฆฌ ๊ฒฐ์ ๋๋ค.
<-> ํ ์์ญ : ํ๋ก๊ทธ๋จ์ ์คํ(๋ฐ ํ์) ๋์ค ์ฌ์ฉ์๊ฐ ์ง์ ๊ฒฐ์
โ malloc(), free() ์ ๋น์ท
โ new ์ฐ์ฐ์
: ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์
+ new๋ก ํ ๋น ๋ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํด๋น ํฌ์ธํฐ๋ก๋ง ์ ๊ทผ ํ ์ ์๋ค
: ํ์ * ํฌ์ธํฐ๋ช = new ํ์ (๋ฉ๋ชจ๋ฆฌ ์ข ๋ฅ ์ง์ );
โ delete ์ฐ์ฐ์
: ๋์ ์ผ๋ก ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ค์ ๋ฐํ
: delete ํฌ์ธํฐ๋ช ;
๐ก ๋ฌธ์์ด, string ํด๋์ค
โ ์ด์ C์ธ์ด์ ๋ฌธ์์ด์ ์ ๋ ฅํ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฏธ๋ฆฌ ์๊ณ ์์ด์ผํ๋ค.
: #include <string>
: ๋ค์์คํ์ด์ค std
string str1; // ๋ฌธ์์ด์ ์ ์ธ str1 = "C++ Programming"; // ๋ฌธ์์ด์ ์ด๊ธฐํ string str2 = "C++"; // ๋ฌธ์์ด์ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
: ๋ฌธ์์ด์ ๊ธธ์ด ์๋์ผ๋ก ์ฒ๋ฆฌ.
: ๋ฐฐ์ด์ฒ๋ผ ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ค๋ฃฐ ์ ์๋ค.
: ๋ฌธ์์ด๊ธธ์ด == ๋ณ์๋ช .length()
โ getline(cin, ๋ณ์๋ช ) : ๋ฌธ์์ด ํ ํ(line) ๋ฐ๊ธฐ
๐ก string ๋ฉ์๋
length() ๋ฌธ์์ด ๊ธธ์ด ๋ฐํ find() ํน์ ๋ฌธ์์ด์ ์ฐพ์, ์์ ์์น ๋ฐํ
if) ์ฐพ์ง ๋ชปํ๋ฉด string::npos ๋ฐํsize() ๊ฐ์ฒด๊ฐ ์ค์ ์ฌ์ฉํ๋
๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ ๋ฐํreplace() ํน์ ๋ฌธ์์ด ์ฐพ์,
๊ทธ ๋ฌธ์์ด์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๋์ฒดappend() ํ๋์ ๋ฌธ์์ด์ ๋์
๋ค๋ฅธ ๋ฌธ์์ด ์ถ๊ฐcapacity() ๋ฌธ์์ด์ด ์ฌ๋์ ๋ฐ์ง ์๊ณ ,
์ ์ฅํ ์ ์๋ ์ต๋ ๋ฌธ์์ด ๊ธธ์ด ๋ฐํcompare() ๋ ๋ฌธ์์ด ๊ฐ์ ๋ด์ฉ ๋น๊ต -> bool ๋ฐํ max_size() ์ต๋ ๋ฌธ์์ด์ ๊ธธ์ด // append() ๋ฌธ์์ด.append(์ถ๊ฐํ ๋ฌธ์์ด); // ์ถ๊ฐํ ๋ฌธ์์ด์ ๋งจ ๋์ ์ถ๊ฐํจ. ๋ฌธ์์ด.append(์ถ๊ฐํ ๋ฌธ์์ด, ์์์์น, ๊ฐ์); // ์ถ๊ฐํ ๋ฌธ์์ด์ ์์ ์์น๋ถํฐ ๊ฐ์๋งํผ๋ง ๋งจ ๋์ ์ถ๊ฐํจ. ๋ฌธ์์ด.append(๊ฐ์, ์ถ๊ฐํ ๋ฌธ์); // ์ถ๊ฐํ ๋ฌธ์๋ฅผ ๊ฐ์๋งํผ ๋งจ ๋์ ์ถ๊ฐํจ // compare() str1.compare(str_02) == 0 // str1๊ณผ str2์ด ๊ฐ์ ๊ฒฝ์ฐ str1.compare(str_02) < 0 // str1์ด str2๋ณด๋ค ์ฌ์ ํธ์ฐฌ์์ผ๋ก ์์ ์์ ๊ฒฝ์ฐ str1.compare(str_02) > 0 // str1์ด str2๋ณด๋ค ์ฌ์ ํธ์ฐฌ์์ผ๋ก ๋ค์ ์์ ๊ฒฝ์ฐ // replace() ๋ฌธ์์ด.replace(๋์ฒดํ ๋ฌธ์์ด์์์์์น, ๋์ฒดํ ๋ฌธ์์ด์๊ธธ์ด, ์๋ก์ด๋ฌธ์์ด);
'c & c++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ํจ์, ์ฐธ์กฐ์, ๋ํดํธ ์ธ์, ํจ์ ์ค๋ฒ๋ก๋ฉ, ํจ์ ์ค๋ฒ๋ผ์ด๋ฉ, ์ธ๋ผ์ธ ํจ์ (1) 2022.09.20 [C++] ๊ตฌ์กฐ์ฒด, ๊ณต์ฉ์ฒด, ์ด๊ฑฐ์ฒด (0) 2022.09.20 [C] ๊ธฐํธ ์์ (0) 2022.09.18 [C] ๊ตฌ์กฐ์ฒด, ๊ตฌ์กฐ์ฒด ๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ (0) 2022.09.16 [C] ํฌ์ธํฐ, malloc() (0) 2022.09.16