๋ชฉ๋ก2022/01 (32)
KoreanFoodie's Study
๋ง์์ด ๋ฐ๋ปํ๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์๋ด๋ฆฌ๋ฉด ์ข์๊น. ๊ทธ๋ฅ, ์จ๊ธฐ๋ฅผ ์ค๊ฐ์ผ๋ก ๋๋ผ๋ฏ ๋ฐ์คํ ๋ง์์ด๋ผ๋ ๋์ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์๋ค์ด๋ฉด ์๋๋ ๊ฑธ๊น. ๋ฐ๋ปํ ๋ง์์ด๋ผ๋ ๋ ์์ ์ ์ฒด๋ฅผ ๊ผฌ์ง๊ผฌ์งํ๊ฒ ํ๊ณ ๋ค์ด ๊ฒฐ๋ก ์ ๋ด๋ ค์ผ ์ง์ฑ์ด ํ๋ฆฌ๋ ์ฌํ๋ ์ฌํ ๋์ ์ฑ๊ฒฉ์ด์ฌ. ์ด์ฉ๋ฉด ๋๋ ๋ฐ๋ปํ ๋ง์์ ๊ฐ์ง๊ธฐ์ ์ด๋ฏธ ํ๋ฆฐ ์ด๋ช ์ ํ๊ณ ๋ ๊ฑด ์๋๊น ์ถ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฌ๋ ํ๊ณ ๋ ํ์ ๋ฐ์, ๋ ธ๋ ฅ์ผ๋ก ๊ทน๋ณตํ ์ ์๋ค๊ณ ๋ฏฟ๋ ๋์ด๊ธฐ์ ์์ง ์ผ๋ง์ ํฌ๋ง์ ๋จ์ ์์ง ์์๊น. ์ฌ๋์ ๋ณํ๋ค. ์ด์ ๊ธ์์๋ ๊ทธ ์ฃผ์ ๋ฅผ ๋ค๋ฃฌ ์ ์ด ์๊ณ ์์ผ๋ก๋ ์ฌ๋์ด ๋ณํ๋ค๋ ๋์ ์๊ฐ์ ๋ฐ๋์ง ์์ ๊ฒ์ด๋ค. ์ฌ๋์ ๋์์์ด ๋ณํ๋ค. ๋ฌผ๋ก ๋ณ๋ชจํ๋ ์๊น์๋ ๊ฐ๊ธฐ ๋ค๋ฅด๋ค. ๋ง์น ๋จน๊ตฌ๋ฆ์์ ๋ฐ์ณ๋์จ ๋น๋ฐฉ์ธ์ด ์๋ก ๋ค๋ฅธ ๋ฌด๋ฌ์ ๊ฒฐ์ ์ ์ด๋ฃจ๋ฏ์ด. ๊ทธ๋ ๋ค๋ฉด ๋๋ ์ด๋จ๊น..
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! fstream ํ์ผ ์คํธ๋ฆผํด๋์ค fstream์ ์์๋ฐ์ istream๊ณผ ostream์ ์ ์ถ๋ ฅ ํด๋์ค๋ก ์ฌ์ฉํ์. std::ifstream in("test.txt"); std::string s; if (in.is_open()) { in >> s; std::cout
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! C++ ์ ์ถ๋ ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ C++ ์ ์ถ๋ ฅ ํด๋์ค๋ ios_base๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ์คํธ๋ฆผ์ ์ ์ถ๋ ฅ ํ์ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค(์ ๋ฐ๋, 10์ง์/16์ง์ ๋ฑ ๊ฒฐ์ ). ios ํด๋์ค์์๋ ์ค์ ๋ก ์คํธ๋ฆผ ๋ฒํผ๋ฅผ ์ด๊ธฐํํ๊ณ ์ ์ถ๋ ฅ ์์ ์ ์ํ๋ฅผ ์ฒ๋ฆฌํ๋ค(ํ์ผ์ ๋์ ๋๋ฌํ์ ๊ฒฝ์ฐ eof ํจ์ ํธ์ถ, good ํจ์ ํธ์ถ๋ก ์ ์ถ๋ ฅ ์์ ์ฒดํฌ) istream ํด๋์ค istream์ ์ค์ ๋ก ์ ๋ ฅ์ ์ํํ๋๋ฐ, operator>>๊ฐ istream ํด๋์ค์ ์ ์๋ ์ฐ์ฐ์์ด๋ค. ๋ํ cin์ istream ํด๋์ค์ ๊ฐ์ฒด ์ค ํ๋์ด๋ค. cin์ ์ํฐ๋ ๊ณต๋ฐฑ์ ์ ๋ ฅ ์์ ๋ฌด์ํด ๋ฒ๋ฆฐ๋ค. ๋ํ, opera..
'์คํ์ด๋๋งจ : ๋ ธ ์จ์ด ํ'์์ ๋ฅํฐ ์คํธ๋ ์ธ์ง๋ ์คํ์ด๋๋งจ์๊ฒ ์ด๋ฐ ๋์ฌ๋ฅผ ๋์ง๋ค. "The problem is you trying to live two different lives. The longer you do it, the more dangerous it becomes!" ์คํ์ด๋๋งจ์ ์ฐธ ์์ฌ์ด ๋ง๋ค. ์์ฌ์ด ์๋ ์ฌ๋์ด ์ธ์์ ์ด๋ ์๊ฒ ๋๋ง๋, ๊ทน์ค์ ํผํฐ ํ์ปค๋ ์ฒ ๋ถ์ง๋ผ๋ ์ปจ์ ๋ต๊ฒ ์ํ๋ ๊ฒ์ ์์ ๊ณจ๋ผ๊ฐ์ง๋ ค๊ณ ํ๋ ์์ด๊ฐ์ ๋ฉด๋ชจ๋ฅผ ๋ณด์ฌ์ค๋ค. ๊ทธ๋์ ํฐ ์ด๋ฅธ์ด์, ๋ง์น ์๋ถ๊ฐ์ ์กด์ฌ์ธ ๋ฅํฐ ์คํธ๋ ์ธ์ง์๊ฒ ๋ผ๋ฅผ ์ฐ๊ธฐ๋ ํ๋ค. "๋ฌธ์ ๋ ๋๊ฐ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ถ์ ๋์์ ์ด๋ ค๊ณ ํ๋ ๋ฐ์ ์๋๊ฑฐ์ผ." ๋ฅํฐ ์คํธ๋ ์ธ์ง๋ก์์ ์ถ์ ์ด๊ธฐ ์ํด ์คํฐ๋ธ์ด๋ผ๋ ์ถ์ ํฌ๊ธฐํ๋ ๊ทธ์ด๊ธฐ์, ๋ฅํฐ ์คํธ๋ ์ธ์ง๋ ์คํ..
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! vitrual ์๋ฉธ์์ ๋ฉ๋ชจ๋ฆฌ ๋์ ์ฌ์ค virtual ์๋ฉธ์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋, ๋ฉ๋ชจ๋ฆฌ ๋์(memory leak)์ ๋ง๊ธฐ ์ํด์์ด๋ค. ๋ค์ ์์ ์ฝ๋๋ฅผ ๋ณด์. class parent { public: parent() { std::cout
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! ๋ค์ด์บ์คํ ์ด์ ๊ธ์์ ์ฌ์ฉํ๋ Base ํด๋์ค์ Derived ํด๋์ค๋ฅผ ์ฝ๊ฐ ๋ณํํด ๋ณด์. #include #include class Base { std::string s; public: Base() : s("๊ธฐ๋ฐ") { std::cout
๋ชจ๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ํต์ฌ ๋ด์ฉ์ ๊ฐ์ถ๋ฆฌ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ชจ๋์ ์ฝ๋์ ์น์ด๋จน๋ C++ ๊ฐ์ข๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์! ํ์ค String ํด๋์ค C++์์ ๋ฌธ์์ด์ ํํํ ๋๋ char[ ]์ด ์๋, ํ์ค String ํด๋์ค๋ฅผ ์ฌ์ฉํ์. ์์ ์ง์์ ๊ด๋ฆฌํ๋ EmployeeList์ Employee class๋ฅผ ๋ง๋ค์๋ค๊ณ ๊ฐ์ ํด ๋ณด์. class Employee { std::string name; int age; std::string position; int rank; public: Employee(std::string name, int age, std::string position, int rank) : name(name), age(age), position(position), rank(rank) ..
"ํ๋์์ ์ฐ๋ ๊ธฐ๊ฐ ๋ด๋ฆฌ๊ณ ์๋ค" ์ํ๋ ์ผ๋ณ์ด๋ ์์ , ๋์ด ๋ด๋ฆด ๋๋ง๋ค ์ฐ๋ฆฌ ๋ถ๋์ ๋ชจ ๋ณ์ฅ์ด ํ๋ ์ด ๋ง์ ์์ง๋ ์ํ์ง์ง๊ฐ ์๋๋ค. ๋๋ ๋น์์ 1200๋ฏธํฐ ์ ๋ ๋๋ ์ฐ ์์์ ๊ทผ๋ฌดํ์๋๋ฐ, ๊ฒจ์ธ์ด ๋๋ฉด ๋ถ๋๊ฐ ์จํต ๋์ผ๋ก ๋ค๋ฎ์๋ค. ๋๋ฆ ์ฅ๊ด์ด์๋ค. ๊ทธ๋์ ๋ฐค๋ฎ์ด ๋ฐ๋๋ ๊ทผ๋ฌด๋ฅผ ๋ฐ๋ฌ ๋๊ฐ๋ ์์ค์๋ ๋๋ ์ข ์ข ์ค์ฐ์ ์๋ฆ๋ค์์ ๊ฐํํ๊ณค ํ๋ค. ํ์ง๋ง ๋ชจ๋ ์ผ์๋ ์ผ์ฅ์ผ๋จ์ด ์๋ ๋ฒ. ๋์ด ์ค๋ ๋ ์ด๋ฉด ๊ต๋๊ทผ๋ฌด๋ก ์ ๋ ๋๋ฅผ ๊นจ์ฐ๋ ์ฌ์ด๋ ์ด ์ธ๋ คํผ์ก๋ค. ์ ์ค์ ํ๋ผ๋ ํ๋์ ๊ณ์์ธ ๊ฒ์ด๋ค. ๋คํํ ๋ถ๋๊ฐ ์ข์์ ์ ์คํ ์์ญ์ด ๋ง์ง๋ ์์์ง๋ง, ์ ์ค์ด๋ผ๋ ๊ฑด ๋๋ฌด๋๋ ๊ท์ฐฎ๊ณ ๊ณ ๋ ์ผ์ด์๋ค. ์ฃ๋ ๋ฏธ์ํ๋ ์ฌ๋์ ๋ฏธ์ํ์ง ๋ง๋ผ๊ณ ํ๋๊ฐ. ์ฌ์ค ๋์๊ฒ๋ ์๋ฌด ์๋ชป์ด ์์๋ค. ๋๊ตฐ๊ฐ์๊ฒ๋ ์ค๋ ์ด๋ผ๋ ์ ๋ฌผ..
์ด๋ฆด์ , ๋์ ํญ์ ๋ด ๋ง์์ ์ค๋ ๊ฒ ํ๋ค. ์๊ณจ์์๋ ๋๋จํ ๋๊ฑฐ๋ฆฌ๊ฐ ์์์ผ๋๊น. ๋ฐฉ๊ตฌ์์ ์น๊ตฌ๋ค๊ณผ ์น๊ธฐ์ข ๊ธฐ ๋ชจ์ฌ ํ๋ ์ ํฌ์, ๊ทธ๋ฆฌ๊ณ ๋ ์จ๊ฐ ์ข์ ๋ ๋๋ค ์์ด๋ค ๋ช์ด ๋ชจ์ฌ ์๋ฆฌ๊ฐ๋ฆฌ์ ๋ฐ์ผ๊ตฌ๋ฅผ ํ๋ ์ถ์ต๋ค. ํน์ ๋ท๋์ฐ ๋๊ฐ์์ ๋ ์๋์ ์จ์ด ์๋ ๊ฐ์ฌ๋ฅผ ์ก๊ณ ๋์๋ ๊ธฐ์ต๋ค. ๊ทธ ์ ๋๊ฐ ๋์ด ์ค์ง ์์ ๋ ์ฆ๊ธธ ์ ์์๋ ์ผํ์ ๊ฑฐ์ ์ ๋ถ์๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋์ด ๋ด๋ฆฌ๋ฉด, ๋์ด ๋๋ ๊ฒ ๋ดํฝ๊ฐ์ณ์ ธ ์๋ ๋คํ์ ๋ฎ์ด๋ฒ๋ฆฌ๋ฉด ์ฐ๋ฆฌ๋ ๋ง์น ๋ณ์ฅ์ด ๋ธ๋ฆฐ ๋์ด๋์ฐ์ ์จ ๊ฒ๋ง ๊ฐ์ด ๋ฐ์ ๋ฐ์ณ๋๊ฐ๋ค. ์คํค์ฅ๋ ์๋๋ฐ ์ฐฝ๊ณ ์์ ๋นจ๊ฐ์ ์คํค๋ณต์ ๊บผ๋ด์ ๊ณ , ๋ ์ฐ๋งค์ฅ๋ ์๋ ๊ณณ์์ ํ๊ด์ ํ๋ผ์คํฑ ์ฐ๋งค์ ์ํฌ๋๋ฅผ ํ๋ฉฐ ์ค๋ฆด์ ์ฆ๊ฒผ๋ค. ์ ๋นํ ๋. ๋น๊ฐ ๋๋ฌด ์ถ์ ํฐ ์ท์ ์ ์์ ๋ฟ์ธ๋ฐ ์ธ์ ๋ ๋ชจ๋์๊ฒ ํ์๋ฐ๊ฒ ๋ ์์..
์. ์ค๋์ ์ ๋ง๋ก ์ผํ๊ธฐ๊ฐ ์ซ์ ๋ ์ด๋ค. ๋๊ตฐ๊ฐ๊ฐ ํ์์ ์ผํ๊ณ ์ถ์๋ ๋ ์ด ์ผ๋ง๋ ์์๋๊ณ ๋์๊ฒ ๋ฌผ์ด๋ณธ๋ค๋ฉด, ๋๋ ํ๋์ ๋ ์๋ ๋ฌ์ ๊ฐ๋ฆฌํฌ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณค ์๋ฌด๊ฒ๋ ์๋ ๋น ํ๋์ ๋ณด๊ณ ์๋ ์ง๋ฌธ์์ ๋๋์๋ฅผ ๊ฐ๋ณ๊ฒ ์ฐ๋ฌ๋ฒ๋ ค์ผ์ง. ์๋ ๋ง ๊ฐ์ ์ง๋ฌธ์ ํด์ผ ๋๋ต์ ํด์ฃผ๊ณ ์ถ์ ๋ง์์ด ์๊ธฐ๋ ๋ฒ์ด๋ค. ํด. ์ ๋ง๋ก, ์ค๋๋งํผ์ ๋ ์ด์ ์ผ์ ํ ์๊ฐ ์๋ค. ๋๊ตฐ๊ฐ๊ฐ ๋์๊ฒ ์ค๋ ์ผ๋ง๋ ์ผํ๋๋ฉฐ, ๋ฌด์จ ์ผ์ ํ๋์ง ํ๋ฒ ๋ค์ถ์ด ๋ณด๋ ค ํ๋ค๋ฉด. ๋๋ ์ฌ์ถ๊ธฐ ์๋ ์ด ๋์ด ์ง์ฌ๋ํ๋ ๊ฐ์ ๋ฐ ์ฌํ์์๊ฒ ์ธํฐ๋ท ๊ฒ์ ๊ธฐ๋ก์ ๋คํค๋ ๋ฏํ ๋ถ๋๋ฌ์์ ๋๋ ๊ฒ์ด๋ค. ๋๋ ์๋ ๋ณ๋ช ์ ์๋ฉ ๋์ด๋์์ผ์ง. ์์ ๋๋ณด๋ค ๋น ๋ฅด์ง๋ง, ์ ๋ณด๋ค๋ ํจ์ฌ ๋นจ๋ฆฌ ์ง์น๋ ๋ฒ์ด๋ผ๋ฉฐ ํ์ฌ์ ํญ๋ณ์ ํผ์น ๊ฒ์ด๋ค. ์ง๊ธ๋ ๋๋ ์ผ์ ํ๊ณ ์์ง..