2019. 5. 26. 00:30ใPROGRAMMING/C & C++
ํฌ์ธํฐ ๋์์ const ์ ์ธ
const๋ ๋ณ์๋ฅผ ์์ํ ํ๋ ๋ชฉ์ ์ผ๋ก ์ ์ธํ๋ ํค์๋์ด๋ค.
( ์์ : ๋ณํ์ง ์๋ ๋ณ์. )
์ฆ, ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ ๋ณ๊ฒฝ์ ํ์ง ๋ชปํ๋๋ก ๋ง๋ ํค์๋์ด๋ค.
1. ํฌ์ธํฐ ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๋์์ ๊ฐ ๋ณ๊ฒฝ์ ํ์ฉํ์ง ์๋ const ์ ์ธ
์ฒซ ๋ฒ์งธ const ํค์๋์ ์์น์ ๋ด๊ธด ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
"ํฌ์ธํฐ ๋ณ์ pPtr1์ ์ด์ฉํด์, pPtr1์ด ๊ฐ๋ฆฌํค๋ ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ๋ณ๊ฒฝ์ ํ์ฉํ์ง ์๊ฒ ๋ค."
๊ทธ๋ ๋ค๊ณ ํด์
ํฌ์ธํฐ ๋ณ์ pPtr1์ด ๊ฐ๋ฆฌํค๋ ๋ณ์ iA๊ฐ ์์ํ ๋๋ ๊ฒ์ ์๋๋ค.
๋ฐ๋ผ์ iA์ ์ ์ฅ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ํ์ฉ๋๋ค.
์ฆ, ํฌ์ธํฐ ๋ณ์๋ฅผ ํตํด์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ง๋ ์๋ฏธ์ด๋ค.
์์ const ์ ์ธ์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ ํ์ ๋๋ ๊ฒ์ด์ง
๋ฌด์์ธ๊ฐ๋ฅผ ์์๋ก ๋ง๋๋ ์ ์ธ์ ์๋๋ค.
2. ํฌ์ธํฐ ๋ณ์์ ์์ํ
๋ ๋ฒ์งธ const ํค์๋์ ์์น์ ๋ด๊ธด ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
"ํ ๋ฒ ์ฃผ์ ๊ฐ์ด ์ ์ฅ๋๋ฉด, ๊ทธ ๊ฐ์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅ ํ๋ค."
pPtr2๋ ์์ const ์ ์ธ์ผ๋ก ์ธํด ์์ํ๊ฐ ๋์๊ธฐ ๋๋ฌธ์,
๊ฐ๋ฆฌํค๋ ๋์์ ๋ฐ๊พธ๊ธฐ ์ํ ์ฐ์ฐ์ ์ํ์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
pPtr2๊ฐ ์์์ผ ๋ฟ์ด๋,
pPtr2๊ฐ ๊ฐ๋ฆฌํค๋ ๋์์ ์ ์ฅ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์ฐ์ฐ์ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค.
3. ํฌ์ธํฐ ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๋์์ ๊ฐ ๋ณ๊ฒฝ์ ํ์ฉํ์ง ์๊ณ ,
์ฐธ์กฐ ๋์์ ๋ณ๊ฒฝ๋ ํ์ฉํ์ง ์๋ const์ ์ธ
์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ ์๋ฏธ๊ฐ ๋ชจ๋ ํฉ์ณ์ง ๊ฒฝ์ฐ๋ก
ํฌ์ธํฐ ๋ณ์๋ฅผ ํตํด์, ์ฃผ์ ๊ฐ์ด ๊ฐ๋ฆฌํค๋ ๋์์ ๊ฐ์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๊ณ ,
๊ฐ๋ฆฌํค๋ ๋์์ ์ฃผ์ ๊ฐ ๋ํ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค.
'PROGRAMMING > C & C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
15. [C / C++] ํ์ผ๋ถํ ํ๊ธฐ (ํํฐ๋ถํ ) (0) | 2019.06.04 |
---|---|
14. [C / C++] ํ์ผ ์ ์ถ๋ ฅ (0) | 2019.06.03 |
12. [C / C++] ํฌ์ธํฐ์ ๋ ํผ๋ฐ์ค์ ์ฐจ์ด (0) | 2019.05.25 |
11. [C / C++] ๋ฌธ์์ด ์์์ ํฌ์ธํฐ (1) | 2019.05.24 |
10. [C / C++] ์คํธ๋ฆผ๊ณผ ๋ฌธ์์ด (0) | 2019.05.22 |