c++30 [C++] 14. ์ฐธ์กฐ์(Reference) โ ์ฐธ์กฐ์(Reference) ์ฐธ์กฐ์๋ ํฌ์ธํฐ์ ์๋นํ ์ ์ฌํ ๊ฐ๋ ์ด๋ค. C์์๋ ํฌ์ธํฐ๋ง ์์์ง๋ง C++์์๋ ์ฐธ์กฐ์(Reference)๋ผ๋ ๊ฐ๋ ์ด ๋์ ๋๋ฉด์ ์ข ๋ ํธํ๊ฒ ์ฃผ์๊ฐ์ ์ ๊ทผํ ์ ์๊ฒ ๋์๋ค. ์ฌ์ค C++์์๋ ํฌ์ธํฐ์ ์์กดํ๊ณ ์ถ์ง ์์๊ณ *๊ณผ ->๋ฅผ ์ค์ด๊ณ ์ถ์๋ค๊ณ ํ๋ค. ์ฐ๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๊ณ ๋ณ์๋ผ๋ ๊ฒ์ผ๋ก ์ด๋ฆ์ ์ง์ด์ค๋ค. ์ฐธ์กฐ์๋ ์ด ์ด๋ฆ์ ๋ณ๋ช ์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด '๊ทผํธ'์ ๋ณ๋ช ์ด '๊ทผ๋๋ฆฌ'๋ผ๊ณ ํ์ ๋ '๊ทผํธ'์๊ฒ ๊ณผ์๋ฅผ ์ฃผ๋ ๊ฒ๊ณผ '๊ทผ๋๋ฆฌ'์๊ฒ ๊ณผ์๋ฅผ ์ฃผ๋ ๊ฒ์ ๋์ผํ๋ค. ๊ฒฐ๊ตญ, ์ฐธ์กฐ์๋ ๋ ๋ค๋ฅธ ์ด๋ฆ์ ๋ถ์ฌํ๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. #include using namespace std; int main() { int var = 10; int &ref .. 2023. 6. 2. [C++] 13-2. ๊ธฐ๋ณธ์ ์ถ๋ ฅ๊ณผ ํ์ผ์ ์ถ๋ ฅ(feat. iostream, ifstream, ofstream, stringstream) ์ ๋ฒ ํฌ์คํ ์์๋ ํ์ค์ ์ถ๋ ฅ์ด ๋ฌด์์ธ์ง ๊ทธ๋ฆฌ๊ณ ํ์ค์ ์ถ๋ ฅ๊ณผ ํ์ผ์ ์ถ๋ ฅ์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ํด ์์๋ดค๋ค. ์ ํต์ ์ธ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ C++์ด ์๋ C ์ฝ๋๊ฐ ๋๋ถ๋ถ์ด์๋ค. ๋ชจ๋ C++์ด ๋์ค๋ฉด์ Standard library์์๋ iostream, ifstream, ofstream, stringstream๋ฑ์ stream ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ์ง์ํ๋ค. ํ๋์ฉ ์ดํด๋ณด์. ๊ธฐ๋ณธ ์ ์ถ๋ ฅ (Standard Input/Output) C++์์ ๊ธฐ๋ณธ ์ ์ถ๋ ฅ์ iostream ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฒ๋ฆฌํ ์ ์๋ค. iostream์ ์ ๋ ฅ ์คํธ๋ฆผ (istream)๊ณผ ์ถ๋ ฅ ์คํธ๋ฆผ (ostream)์ ์ ๊ณตํ๋ค. istream (์ ๋ ฅ ์คํธ๋ฆผ) `istream`์ ํ์ค ์ ๋ ฅ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์คํธ๋ฆผ์ด๋ค. ํค๋ณด๋.. 2023. 5. 19. [C++] 13-1. ์ ์ถ๋ ฅ(feat. ํ์ค์ ์ถ๋ ฅ๊ณผ ํ์ผ์ ์ถ๋ ฅ) โ ์คํธ๋ฆผ ์คํธ๋ฆผ์ ํ๋์ ํ๋ฆ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์๋๊ผญ์ง๋ฅผ ํ์ด๋๊ณ ๋ค๋ชจ๋ ํธ์ค๋ฅผ ๋ผ์ฐ๋ฉด ๋ฌผ์ด ๋ค๋ชจ ๋ชจ์์ผ๋ก ๋์ค๊ณ , ๋๊ทธ๋ ํธ์ค๋ฅผ ๋ผ์ฐ๋ฉด ๋๊ทธ๋๊ฒ ๋์จ๋ค. ์ด์์ฒด์ ๊ฐ ๋ฌผ์ ๊ณต๊ธํ๋ ์์ฒ์ด๊ณ ์คํธ๋ฆผ์ ํธ์ค๋ค. ์ถ๋ ฅ ๋ฐฉํฅ์ ํ๋ฉด(๋ชจ๋ํฐ)์ผ๋ก ์ ํ๋ฉด ํ๋ฉด์ ์ถ๋ ฅ๋๊ณ , ํ์ผ๋ก ์ ํ๋ฉด ํ์ผ์ ์ถ๋ ฅ(์ฐ๊ธฐ)๋๋ค. ์ ๋ ฅ ๋ํ ์ ๋ ฅ ์ฅ์น(ํค๋ณด๋)๋ก ํ ์๋ ์๊ณ ํ์ผ์ ํตํด ์ฝ์ ์๋ ์์ผ๋ฉฐ ํ์ดํ(ํน์ ๋ช ๋ น์ ๊ฒฐ๊ณผ)๊ฐ ๋ ์๋ ์๋ค. ์ ๋์ค ์ด์์ฒด์ ์ ๋ฐ์ ํ C/C++์ ์ ์ถ๋ ฅ์ ๋ฐ์ด ์คํธ๋ฆผ์ผ๋ก ํด์ํ๊ธฐ ๋๋ฌธ์ ์คํธ๋ฆผ์ ๋ํ ์ดํด๊ฐ ์๋ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์์ํ๋ค. โ ํ์ค ์คํธ๋ฆผ ํ์ค ์คํธ๋ฆผ์๋ stdin, stdout, stderr ์ธ ๊ฐ์ง๊ฐ ์๋ค. ๊ฐ๊ฐ 0(stdin), 1(stdout), 2(stderr.. 2023. 5. 17. [C/C++] 8. ๋ฐ๋ณต๋ฌธ(์ฌํ)(feat. iterator, predicate, lambda) ์ฌ๊ธฐ์๋ C++์ Standard library ์ปจํ ์ด๋์ ์กฐ๊ฑด ์ํ์ ๋ํ ๊ฐ๋ ๋ค์ ์ด์ผ๊ธฐํ๋ค. ๋ค์ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ดํด๊ฐ ์๊ฐ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ฐธ๊ณ ํด๋ณด๋๋ก ํ์. bool NewsScheduler::checkSchedule(Schedule& schedule) { const auto &curMilli = chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count(); const auto itr = find_if(scheduleMap.rbegin(), scheduleMap.rend(), [&curMilli](const pair &p) { return p.second.start c.. 2023. 4. 22. [C/C++] 7. ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ฑ(windows/linux) C/C++์ ์ปดํ์ผ ์ธ์ด์ด๋ฉด์ ํ๋ซํผ ์ข ์์ ์ธ ํน์ฑ์ ๊ฐ๊ณ ์๋ค. ๋ค์ ๋งํ๋ฉด ํ๋ซํผ์ ์ข ์๋์ด ์๊ธฐ ๋๋ฌธ์ ์ปดํ์ผํด์ ์ป์ ์คํํ์ผ์ด ๋ง์ฝ ํ๋ซํผ์ด ๋ค๋ฅด๋ค๋ฉด ์คํํ ์ ์๋ค. ๋ํ์ ์ธ ํ๋ซํผ์ธ ์๋์ฐ์ ๋ฆฌ๋ ์ค์์ ๊ฐ๊ฐ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ด๋ป๊ฒ ํ๋์ง ์ดํด๋ณด์. โ windows ์๋์ฐ ์ด์์ฒด์ ๋ Visual Studio๊ฐ 90% ์ด์์ ์ ์ ์จ์ ๋ณด์ธ๋ค. ์๋์ฐ ์ด์์ฒด์ ์ด๊ธฐ ๋๋ฌธ์ MS๊ฐ ๋ง๋ VS์ ํธํ์ด ์ ๋๊ณ , MSVC ์ปดํ์ผ๋ฌ๋ฅผ ์์ฒด์ ์ผ๋ก ๋ด์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ VS๋ง ์ค์นํด๋ ๋ณ๋ค๋ฅธ ์ถ๊ฐ๋๊ตฌ๊ฐ ํ์ ์๋ค. ์ปดํ์ผ, ์คํ, ๋ถ์๊น์ง ํ IDE์์ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํ๋ค. ๋ค๋ง ๋ง์ ๊ธฐ๋ฅ์ด ์๋ ๋งํผ ์ค์น ์ฉ๋์ด ํฌ๊ณ ๋ฌด๊ฒ๋ค. ํ์ฌ๋ Visual Studio 2022๊น์ง ๋์์๋ค. ์ค์น๋ ์๋ .. 2023. 4. 11. [C++]ํฌ์ธํฐ์ ๋ ํผ๋ฐ์ค ์ฐจ์ด C++์์ ํฌ์ธํฐ์ ๋ ํผ๋ฐ์ค๋ ๋ชจ๋ ๋ณ์๋ฅผ ๊ฐ๋ฆฌํค๊ฑฐ๋ ์ฐธ์กฐํ๋๋ฐ ์ฌ์ฉ๋์ง๋ง, ๊ทธ๋ค ๊ฐ์ ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ์ ์ - ํฌ์ธํฐ(Pointer): ํฌ์ธํฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅํ๋ ๋ณ์์ ๋๋ค. ๋ณ์์ ์ฃผ์๋ฅผ ์ ์ฅํ๊ณ ํด๋น ๋ณ์์ ๋ํ ๊ฐ์ ์ฐธ์กฐ๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์กฐ์ํ ์ ์์ต๋๋ค. ํฌ์ธํฐ๋ '*' ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธํ๋ฉฐ, ํ ๋น๋ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. - ๋ ํผ๋ฐ์ค(Reference): ๋ ํผ๋ฐ์ค๋ ๊ธฐ์กด ๋ณ์์ ๋ณ์นญ(alias)์ ๋๋ค. ์ฆ, ๊ธฐ์กด ๋ณ์์ ๋ํ ๋ณ์นญ์ ๋ง๋ค์ด ํด๋น ๋ณ์๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ํฉ๋๋ค. ๋ ํผ๋ฐ์ค๋ '&' ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธ๋๋ฉฐ, ํ ๋ฒ ํ ๋น๋๋ฉด ๋ค๋ฅธ ๋ณ์๋ก ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์ด๊ธฐํ - ํฌ์ธํฐ(Pointer): ํฌ์ธํฐ๋ ์ด๊ธฐํํ์ง ์๊ฑฐ๋ ๋ ํฌ์ธํฐ๋ก ์ด๊ธฐํํ ์ ์์ต๋๋ค... 2023. 1. 9. ์ด์ 1 2 3 4 5 ๋ค์