C++ basic

C++ basics ๋งคํฌ๋กœ #define MACRO 1 : MACRO ๊ฐ’์œผ๋กœ 1์„ ์ง€์ • #undef MACRO : MACRO๊ฐ’์— ์ง€์ •๋œ ๋‚ด์šฉ ํ•ด์ œ ์—ฌ๋Ÿฌ์ค„์˜ ๋งคํฌ๋กœ ๊ฐ’ ์ง€์ • : #define PRINT(X) printf("%d", X);\ printf("%d", (X) + 1);\ printf("%d", (X) + 2); ๋งคํฌ๋กœ ํ•ฉ์„ฑ : #define A 1 #define B 1 #define C A##B // A##B = 12 ํ•จ์ˆ˜ํ˜•ํƒœ ๋งคํฌ๋กœ ์ž‘์„ฑ : // ์ผ๋ฐ˜ํ•จ์ˆ˜์—๋Š” ';' ๋ฅผ ๋ถ™์ด์ง€๋งŒ ๋งคํฌ๋กœ ํ•จ์ˆ˜์—๋Š” ';'๋ฅผ ๋ถ™์ผ ํ•„์š”๊ฐ€ ์—†๋‹ค. // ์ผ๊ด€์„ฑ์„ ๊ฐ–๊ธฐ ์œ„ํ•ด do-while๋ฌธ ์•ˆ์— ์ž‘์„ฑํ•˜๋ฉด ๋งคํฌ๋กœ ํ•จ์ˆ˜์—๋„ ';'๋ฅผ ๋ถ™์ด๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. #define FUNC(a, b) do { \ a = b * 2;\ } while (0) ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ : // ๋งคํฌ๋กœ ํ•จ์ˆ˜๋Š” ๊ณ„์‚ฐ ์ „ ์น˜ํ™˜์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•œ๋‹ค. ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„์— ์ฃผ์˜ํ•œ๋‹ค. #define ADD1(a,b) a+b #define ADD2(a,b) (a+b) #define MULT(a,b) a*b #define MULT2(a,b) (a)*(b) ... printf("%d",ADD1(3,4) * 2) // ์˜ˆ์ƒ๊ฐ’ (3 + 4) * 2 = 14 // 3 + 4 * 2 ๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๊ณ„์‚ฐ๋˜์–ด ์‹ค์ œ ๊ฒฐ๊ณผ๋Š” 11 // ADD2 ์ฒ˜๋Ÿผ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์•ผ ์•ˆ์ „ํ•˜๋‹ค. printf("%d",MULT(2+2,3+3)) // ์˜ˆ์ƒ๊ฐ’ (4 * 6) * 2 = 26 // (2 + 2 * 3 + 3) ๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๊ณ„์‚ฐ๋˜์–ด ์‹ค์ œ ๊ฒฐ๊ณผ๋Š” 11 // MULT2 ์ฒ˜๋Ÿผ ๊ฐ ๋ณ€์ˆ˜๋ฅผ ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์•ผ ์•ˆ์ „ํ•˜๋‹ค. // ADD1, MULT2 ๊ฒฝ์šฐ๋ฅผ ์ข…ํ•ฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์ž #define ADD3(a,b) ((a) + (b)) #define MULT3(a,b) ((a) * (b)) ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ if-elif-else ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์กฐ๊ฑด์— !, && || ๋…ผ๋ฆฌ์—ฐ์‚ฐ ๊ฐ€๋Šฅ #define MACRO #define DEBUG 1 #ifdef MACRO // ์ •์˜๊ฐ€ ๋˜์–ด์žˆ์œผ๋ฉด ์ˆ˜ํ–‰ #endif #if DEBUG // DEBUG๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’ ๋˜๋Š” ์‹์ด ์ฐธ์ด๋ฉด ์ˆ˜ํ–‰ #endif ํŒŒ์ผ ํฌํ•จ #include <FILE_NAME> // ํ‘œ์ค€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํŒŒ์ผ ์ฐธ์กฐ #include "FILE_NAME" // ํ˜„์žฌ ๊ฒฝ๋กœ ๊ธฐ์ค€ ํŒŒ์ผ ์ฐธ์กฐ โ†’ [ํ™œ์šฉ]: ํ—ค๋”ํŒŒ์ผ ์ค‘๋ณต ์ฐธ์กฐ ๋ฐฉ์ง€๋ฒ• ...

<span title='2021-08-12 10:41:00 +0900 KST'>August 12, 2021</span>&nbsp;ยท&nbsp;4 min&nbsp;ยท&nbsp;AswinBlue