๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Reference2

[C++] 14. ์ฐธ์กฐ์ž(Reference) โœ… ์ฐธ์กฐ์ž(Reference) ์ฐธ์กฐ์ž๋Š” ํฌ์ธํ„ฐ์™€ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•œ ๊ฐœ๋…์ด๋‹ค. C์—์„œ๋Š” ํฌ์ธํ„ฐ๋งŒ ์žˆ์—ˆ์ง€๋งŒ C++์—์„œ๋Š” ์ฐธ์กฐ์ž(Reference)๋ผ๋Š” ๊ฐœ๋…์ด ๋„์ž…๋˜๋ฉด์„œ ์ข€ ๋” ํŽธํ•˜๊ฒŒ ์ฃผ์†Œ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์‚ฌ์‹ค C++์—์„œ๋„ ํฌ์ธํ„ฐ์— ์˜์กดํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•˜๊ณ  *๊ณผ ->๋ฅผ ์ค„์ด๊ณ  ์‹ถ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๊ณ  ๋ณ€์ˆ˜๋ผ๋Š” ๊ฒƒ์œผ๋กœ ์ด๋ฆ„์„ ์ง€์–ด์ค€๋‹ค. ์ฐธ์กฐ์ž๋Š” ์ด ์ด๋ฆ„์— ๋ณ„๋ช…์„ ๋ถ™์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด '๊ทผํ˜ธ'์˜ ๋ณ„๋ช…์ด '๊ทผ๋˜๋ฆฌ'๋ผ๊ณ  ํ–ˆ์„ ๋•Œ '๊ทผํ˜ธ'์—๊ฒŒ ๊ณผ์ž๋ฅผ ์ฃผ๋Š” ๊ฒƒ๊ณผ '๊ทผ๋˜๋ฆฌ'์—๊ฒŒ ๊ณผ์ž๋ฅผ ์ฃผ๋Š” ๊ฒƒ์€ ๋™์ผํ•˜๋‹ค. ๊ฒฐ๊ตญ, ์ฐธ์กฐ์ž๋Š” ๋˜ ๋‹ค๋ฅธ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. #include using namespace std; int main() { int var = 10; int &ref .. 2023. 6. 2.
[C++]ํฌ์ธํ„ฐ์™€ ๋ ˆํผ๋Ÿฐ์Šค ์ฐจ์ด C++์—์„œ ํฌ์ธํ„ฐ์™€ ๋ ˆํผ๋Ÿฐ์Šค๋Š” ๋ชจ๋‘ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ๊ทธ๋“ค ๊ฐ„์— ์ค‘์š”ํ•œ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์˜ - ํฌ์ธํ„ฐ(Pointer): ํฌ์ธํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ฐ„์ ‘ ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ์ธํ„ฐ๋Š” '*' ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜๋ฉฐ, ํ• ๋‹น๋œ ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋ ˆํผ๋Ÿฐ์Šค(Reference): ๋ ˆํผ๋Ÿฐ์Šค๋Š” ๊ธฐ์กด ๋ณ€์ˆ˜์˜ ๋ณ„์นญ(alias)์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ์กด ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ณ„์นญ์„ ๋งŒ๋“ค์–ด ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆํผ๋Ÿฐ์Šค๋Š” '&' ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ๋˜๋ฉฐ, ํ•œ ๋ฒˆ ํ• ๋‹น๋˜๋ฉด ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐํ™” - ํฌ์ธํ„ฐ(Pointer): ํฌ์ธํ„ฐ๋Š” ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋„ ํฌ์ธํ„ฐ๋กœ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... 2023. 1. 9.