๐ก #pragma์ ๋ํด์ ์์๋ณด์.
C++๋ก ์ฝ๋ฉ์ ํ๊ธฐ ์ํด ํค๋ ํ์ผ์ ๋ง๋ค๋ฉด ํญ์ ์๋จ์ #pragma once๊ฐ ์๋ค.
#pragma์ ์ญํ ๊ณผ ๋ช ๊ฐ์ง ์์์ ํจ๊ป ์ ์ฌ์ฉ๋๋์ง ์์๋ณด์.
#์ ๋ํด ์๊ธฐ ์ํด์ ์ ์ฒ๋ฆฌ์ ์ปดํ์ผ์ ๋ํ ์ง์์ด ์์ด์ผ ํ๋ค.
C++์์ # ๊ธฐํธ๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ์ ๋ํ๋ธ๋ค.
- #include
๋ค๋ฅธ ํ์ผ์ ๋ด์ฉ์ ํ์ฌ ํ์ผ์ ํฌํจ์ํค๋ ๋ฐ ์ฌ์ฉ- #define
๋งคํฌ๋ก๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ- #ifdef, #ifndef, #endif
์กฐ๊ฑด๋ถ ์ปดํ์ผ์ ์ํด ์ฌ์ฉ- #if, #elif, #else
์กฐ๊ฑด๋ถ ์ปดํ์ผ์ ๋ ผ๋ฆฌ์ ์ธ ๋ถ๊ธฐ๋ฅผ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ- #pragma
์ปดํ์ผ๋ฌ์๊ฒ ํน์ ํ ๋์์ ์ํํ๋๋ก ์ง์ํ๋ ๋ฐ ์ฌ์ฉ- #error
์ปดํ์ผ ์๊ฐ์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๋ ๋ฐ ์ฌ์ฉ
๋ค์ํ ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ ์ค #pragma์ ๋ํด์ ์์ ๋ณด๊ฒ ๋ค. ๐
pragma๋ #์ผ๋ก ์์ํ๋ ์ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ์ ํ๋์ด๋ค.
์ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ์ด๋ ์ค์ง์ ์ธ ์ปดํ์ผ ์ ์ ๋ฏธ๋ฆฌ ์ฒ๋ฆฌ๋๋ ๋ฌธ์ฅ์ด๋ค.
#pragma ๋๋๊ฒ๋ C ๋ฐ C++ ํ์ค์ ์๋๋ค.
ํ์ง๋ง ๋๋ถ๋ถ์ ์ปดํ์ผ๋ฌ์์ ์ง์ํ๋ค๊ณ ํ๋ค.
์ดํด๋ฅผ ๋๊ธฐ ์ํด ๋ช๊ฐ์ง ์์๋ฅผ ๊ฐ์ ธ์๋ค.

#pragma once๋ "1๋ฒ๋ง ์ปดํ์ผ ํ๊ฒ ๋ค." ๋ผ๊ณ ๋งํ๋ ๊ฒ์ด๋ค.
์ปดํ์ผ ๋จ๊ณ์์ #include๋ ๋ชจ๋ ํ์ผ์ ์ฌ์ฉ๋ฉ๋๋ค.
์์ค์ฝ๋ ํ์ผ๋ง๋ค ํค๋ํ์ผ์ด include๋๋ค๋ฉด ์ค๋ณต๋ ๊ฐ๋ฅ์ฑ์ด ์๊ฒ ์ฃ .
๊ทธ๋์ "์ค๋ณต ์ ์๋ก ์ธํ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ฒ ๋ค" ๋ผ๋ ์๋ฏธ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
error C4996 : 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
#pragma warning(disable:4996)์ผ๋ก ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์ํ ์ ์์ต๋๋ค.
C++์ C์ธ์ด์ ํธํ์ฑ์ ๊ณ ๋ คํ์ง๋ง C๋ C++์ ๋ถ๋ถ์งํฉ์ด ์๋๋๋ค.
๊ทธ๋์ scanf()๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ๋ฒ์ ์ค๋ฅ๊ฐ ์์ด๋ ๋ณด์์ ์ฑ ์ ๋ฐ๋ฅธ ์๋ฌ์ฝ๋ C4996์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ทธ๋ ์ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ์ ํตํด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์ํ๊ฒ ํด์ค๋ค๋ฉด ์์ ์์ด ์ฌ์ฉ์ ํ ์๋ ์์ต๋๋ค.
ํด๋น ์ค๋ฅ์ ๋ํด์ ๊ฐ์ ๋งฅ๋ฝ์ผ๋ก #define _CRT_SECURE_NO_WARNINGS์ผ๋ก๋ ๋์ฒด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ ๊ฒ ์ปดํ์ผ ์ค ๋น์ ์์ ์ธ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด #pragma์ ๊ฐ์ ์ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ์ดํดํ๊ณ ์์ผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.