๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

    C++ ์ •๋ฆฌ -9 (ํฌ์ธํ„ฐ -1)

    ํฌ์ธํ„ฐ ๊ฐ’ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ’์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜์ด๋‹ค. ์ฃผ์†Œ ์—ฐ์‚ฐ์ž(&)๋ฅผ ๋ณ€์ˆ˜ ์•ž์— ๋ถ™์ด๋ฉด ๊ทธ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, home์ด ๋ณ€์ˆ˜์ด๋ฉด &home์€ ๊ทธ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ์ด๋‹ค. ํฌ์ธํ„ฐ์˜ ์ด๋ฆ„์ด ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ฐ„์ ‘ ๊ฐ’ ์—ฐ์‚ฐ์ž ๋˜๋Š” ๊ฐ„์ ‘ ์ฐธ์กฐ ์—ฐ์‚ฐ์ž๋ผ๊ณ  ๋ถ€๋ฅด๋Š” *์„ ํฌ์ธํ„ฐ ์ด๋ฆ„ ์•ž์— ๋ถ™์ด๋ฉด ๊ทธ ์ฃผ์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์ด ๋จ manly๊ฐ€ ํฌ์ธํ„ฐ๋ผ๊ณ  ๊ฐ€์ •ํ•  ๋•Œ manly๋Š” ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , *manly๋Š” ๊ทธ ์ฃผ์†Œ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ๋‹ค, ๋ณดํ†ต์˜ intํ˜• ๋ณ€์ˆ˜์™€ ๋™๋“ฑํ•˜๊ฒŒ ์ทจ๊ธ‰. int jumbo = 32; int *pe = &jumbo; jumbo, *pe ์„œ๋กœ ๊ฐ™์€ ๊ฐ’ &jumbo, pe ์„œ๋กœ ๊ฐ™์€ ๊ฐ’ int* p_updates; p_updates์˜ ๋ฐ์ดํ„ฐํ˜•์€ int* ํ˜•์ž„. ์ฆ‰ ..

    C++ ์ •๋ฆฌ -8 (๊ณต์šฉ์ฒด, ์—ด๊ฑฐ์ฒด, ์—ด๊ฑฐ์ฒด์˜ ๊ฐ’ ๋ฒ”์œ„)

    ๊ณต์šฉ์ฒด(union) : ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐํ˜•์„ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€๋งŒ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹ ex) union one4all { int int_val; long long_val; double double_val; }; one4all ๋ณ€์ˆ˜๋Š” intํ˜•์ด๋‚˜ longํ˜•์ด๋‚˜ doubleํ˜•์„ ๋ณด๊ด€ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด๋Šํ•œ ์‹œ์ ์— ์–ด๋Š ํ•œ๊ฐ€์ง€๋งŒ ๋ณด๊ด€ ๊ฐ€๋Šฅ one4all pail; pail.int_val=15; cout

    C++ ์ •๋ฆฌ -7 ( ๊ตฌ์กฐ์ฒด, ๊ตฌ์กฐ์ฒด ์„œ์ˆ , ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜, ๊ตฌ์กฐ์ฒด ์ดˆ๊ธฐํ™”, ๊ตฌ์กฐ์ฒด์˜ ๋ฐฐ์—ด, ๊ตฌ์กฐ์ฒด ์•ˆ์˜ ๋น„ํŠธ ํ•„๋“œ)

    ๊ตฌ์กฐ์ฒด ํ•˜๋‚˜์˜ ๊ตฌ์กฐ์ฒด ์•ˆ์— ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๊ฐ€๋Šฅ, ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐํ˜• ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ ๋‹จ๊ณ„ 1. ๊ตฌ์กฐ์ฒด ์„œ์ˆ (structure description) ์ •์˜ ๊ตฌ์กฐ์ฒด ์•ˆ์— ์ €์žฅํ•  ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐํ˜•๋“ค์„ ์„œ์ˆ ํ•˜๊ณ  ์ด๋ฆ„์„ ์ •ํ•จ 2. ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜(structure variable) ์ƒ์„ฑ ๊ตฌ์กฐ์ฒด ์„œ์ˆ  ์˜ˆ์‹œ struct inflatable // struct: struct ํ‚ค์›Œ๋“œ inflatable: ํƒœ๊ทธ, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐํ˜•์˜ ์ด๋ฆ„์ด ๋จ (int, double ์ฒ˜๋Ÿผ) { char name[20]; float volume; //๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„ double price; }; // ์„ธ๋ฏธ์ฝœ๋ก ์€ ํ…œํ”Œ๋ฆฟ ์„ ์–ธ์„ ๋๋ƒ„ ๊ตฌ์กฐ์ฒด ์„œ์ˆ ์„ ๋๋‚ธ ํ›„, ๊ทธ ๋ฐ์ดํ„ฐํ˜•์˜ ๋ณ€์ˆ˜๋“ค ์ƒ์„ฑ ๊ฐ€๋Šฅ inflatable hat; inflatabl..

    C++ ์ •๋ฆฌ -6 (getline(), get(), failbit, string ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ)

    istream ํด๋ž˜์Šค๊ฐ€ ํ–‰๋‹จ์œ„๋กœ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋Š” ํด๋ž˜์Šค ๋ฉค๋ฒ„ ํ•จ์ˆ˜์ธ getline()๊ณผ get()์„ ์ œ๊ณตํ•œ๋‹ค. ๋‘˜ ๋‹ค ์ „์ฒด ์ž…๋ ฅ ํ–‰์„ ์ฝ๋Š”๋‹ค. ์ฆ‰ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ์ฝ๋Š”๋‹ค. getline() : ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ์ฝ์–ด์„œ ํ๊ธฐ get() : ์ž…๋ ฅ ํ์— ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ๋‚จ๊ฒจ๋‘”๋‹ค. getline()์„ ์ด์šฉํ•œ ํ–‰ ๋‹จ์œ„ ์ž…๋ ฅ Enterํ‚ค์— ์˜ํ•ด ์ „๋‹ฌ๋˜๋Š” ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ์˜ ๋์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ํ•œ ํ–‰ ์ „์ฒด๋ฅผ ์ฝ๋Š”๋‹ค. cin.getline()์„ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ cin.getline(name,20); //name์€ ์ž…๋ ฅํ•œ ํ–‰์„ ์ €์žฅํ•  ๋ฐฐ์—ด ์ด๋ฆ„, 20์€ ์ž…๋ ฅ๋ฐ›์„ ๋ฌธ์ž์˜ ํ•œ๊ณ„์ด๋‹ค. (์ตœ๋Œ€ 19 ๋ฌธ์ž๊นŒ์ง€ ๊ฐ€๋Šฅ, ๋‚˜๋จธ์ง€ 1๊ฐœ๋Š” ๋„๋ฌธ์ž) ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด์— ์ €์žฅํ•  ๋•Œ ๊ฐœํ–‰ ๋ฌธ์ž๋Š” ๋„๋ฌธ์ž๋กœ ๋Œ€์ฒด๋จ. get()์„ ์ด์šฉ..

    C++ ์ •๋ฆฌ -5 (auto ์„ ์–ธ, ๋ฐฐ์—ด, ๋ฌธ์ž์—ด)

    c++์—์„œ์˜ auto ์„ ์–ธ - ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ ์ถ”๋ก  auto n = 100; //n์€ int auto x = 1.5; //x๋Š” double auto y = 1.3e12L //y๋Š” long double ์ฃผ์˜์‚ฌํ•ญ x, y, z๊ฐ€ ๋ชจ๋‘ doubleํ˜•์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ auto x = 0.0; //0.0์ด double์ด๋ฏ€๋กœ ๋ฌธ์ œ์—†์Œ double y = 0; //0์ด ์ž๋™์œผ๋กœ double์œผ๋กœ ๋ณ€ํ™˜๋จ auto z = 0; // 0์ด int์ด๊ธฐ ๋•Œ๋ฌธ์— doubleํ˜•์œผ๋กœ ์ฝ”๋“œ ์ž‘์„ฑ ๋ถˆ๊ฐ€ ๋ฐฐ์—ด(Array) ๋ฐ์ดํ„ฐํ˜•์ด ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ์—ฐ์†์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐฐ์—ด ์„ ์–ธ ๊ตฌ๋ฌธ 1. ๊ฐ ์›์†Œ์— ์ €์žฅ๋  ๊ฐ’์˜ ๋ฐ์ดํ„ฐํ˜• 2. ๋ฐฐ์—ด์˜ ์ด๋ฆ„ 3. ๋ฐฐ์—ด ์›์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋Š” ์ผ๋ฐ˜์  ํ˜•์‹ typeName ar..

    C++ ์ •๋ฆฌ -4 (const ์ œํ•œ์ž, lvalue, ๋ถ€๋™์†Œ์ˆ˜์ ์ˆ˜ํ˜•, setf(), ๋ฐ์ดํ„ฐํ˜• ๋ณ€ํ™˜)

    const ์ œํ•œ์ž const ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋ฉด #define๋ฌธ ๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ ๊ธฐํ˜ธ ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. ex) const int MONTHS = 12; //์ด์ œ๋ถ€ํ„ฐ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ 12 ๋Œ€์‹ ์— MONTHS๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ //์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ดํ›„์— MONTHS์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ์–ด๋– ํ•œ ์‹œ๋„๋„ ๋ถˆํ—ˆ์šฉ //-> ์‹œ๋„ํ•  ๊ฒฝ์šฐ lvalue๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„ lvalue : ๋Œ€์ž… ์—ฐ์‚ฐ์ž์˜ ์™ผ์ชฝ์— ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ๊ฒƒ ์ƒ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ผ๋ฐ˜์  ํ˜•์‹ const ๋ฐ์ดํ„ฐํ˜• ์ƒ์ˆ˜ ์ด๋ฆ„ = ๊ฐ’; const ์ƒ์ˆ˜๋Š” ์„ ์–ธํ•  ๋•Œ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ฏธํ™•์ • ๊ฐ’์œผ๋กœ ๋‚จ๊ฒจ์ง„๋‹ค. const int toes; //์ด ์‹œ์ ์—์„œ toes์˜ ๊ฐ’์€ ๋ฏธํ™•์ • toes = 10; //๋„ˆ๋ฌด ๋Šฆ..

    C++ ์ •๋ฆฌ -3 (์ดˆ๊ธฐํ™”, unsigned ํ˜•, ์ •์ˆ˜ํ˜• ์ƒ์ˆ˜,์ง„๋ฒ•์„ ๋ฐ”๊พธ๋Š” ์กฐ์ •์ž, char, bool ํ˜•)

    ์ดˆ๊ธฐํ™” : ์„ ์–ธ๊ณผ ๋Œ€์ž…์„ ํ•˜๋‚˜๋กœ ์กฐํ•ฉํ•˜๋Š” ๊ฒƒ. ex) int n_int = INT_MAX; n_int๋ฅผ intํ˜• ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๊ณ , ๊ทธ ๋ณ€์ˆ˜์— intํ˜•์˜ ์ตœ๋Œ“๊ฐ’์„ ๋Œ€์ž…ํ•œ๋‹ค. c++์€ c์™€๋Š” ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ์ดˆ๊ธฐํ™” ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. int wrens(432); //wrens๋ฅผ 432๋กœ ์ดˆ๊ธฐํ™” c++11 ์—์„œ์˜ ์ดˆ๊ธฐํ™” int hambugers = {24}; int nums {7}; int rocs{}; // rocs๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” int psychics{}; //psychics๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™” unsigned ํ˜• ์‚ฌ์šฉ ์‹œ ๊ทธ ๋ณ€์ˆ˜์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด shortํ˜•์ด -32768~+32767๊นŒ์ง€์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค๋ฉด unsigned short๋Š” 0~65535๊นŒ์ง€์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค. ..

    C++ ์ •๋ฆฌ -2 (์ŠคํŠธ๋ฆผ, ์ถœ๋ ฅ, ์ž…๋ ฅ, cout, cin, ์ •์ˆ˜ํ˜•)

    ์ŠคํŠธ๋ฆผ : ์—ฐ์†๋œ ๋ฌธ์ž ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ : ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ๋ฐ–์œผ๋กœ ํ˜๋Ÿฌ๋“ค์–ด์˜ค๋Š” ๋ฌธ์ž๋“ค์˜ ์ŠคํŠธ๋ฆผ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ : ํ”„๋กœ๊ทธ๋žจ ๋ฐ–์—์„œ ์•ˆ์œผ๋กœ ํ˜๋Ÿฌ๋“ค์–ด์˜ค๋Š” ๋ฌธ์ž๋“ค์˜ ์ŠคํŠธ๋ฆผ cout : ๋ฌธ์ž์—ด, ์ˆ˜, ๋ฌธ์ž๋“ค์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋Š”, ๋ฏธ๋ฆฌ ์ •์˜๋œ ๊ฐ์ฒด (์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ) ์‚ฌ์šฉ๋ฒ• : string์ด ์–ด๋–ค ๋ฌธ์ž์—ด์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ฌธ์œผ๋กœ ๊ทธ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅ ๊ฐ€๋Šฅ cout

    C++ ์ •๋ฆฌ -1 (C++์˜ ํŠน์ง•)

    c++์€ ์„ธ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉ๋จ. 1. c์˜ ์ ˆ์ฐจ์  ์–ธ์–ด (procedural language) 2. c++์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด (object-oriented languange) // c++์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ  3. c++์˜ ํ…œํ”Œ๋ฆฟ์ด ์ง€์›ํ•˜๋Š” ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ c์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฒ ํ•™ c++์€ c์— ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฒ ํ•™์„ ์ ‘๋ชฉ์‹œ์ผฐ๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‘๋ฉด ์ข‹๋‹ค. c๋Š” ์ ˆ์ฐจ์  ์–ธ์–ด์ธ๋ฐ ์ ˆ์ฐจ์  ์–ธ์–ด๋ž€ ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋™์ž‘๋“ค์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜๊ณ , ๊ทธ ๊ตฌ๋ถ„๋œ ๋™์ž‘๋“ค์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ. ์ ˆ์ฐจ์  : ๋ฐ์ดํ„ฐ(ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์ •๋ณด) < ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•) ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ (structured programming) ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜..