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" // ํ์ฌ ๊ฒฝ๋ก ๊ธฐ์ค ํ์ผ ์ฐธ์กฐ โ [ํ์ฉ]: ํค๋ํ์ผ ์ค๋ณต ์ฐธ์กฐ ๋ฐฉ์ง๋ฒ ...