written by yechoi

[C++] static ๋ฉค๋ฒ„ ํ•จ์ˆ˜์— 'const' ์“ธ ์ˆ˜ ์—†๋Š” ์ด์œ  ๋ณธ๋ฌธ

Born 2 Code/C, C++

[C++] static ๋ฉค๋ฒ„ ํ•จ์ˆ˜์— 'const' ์“ธ ์ˆ˜ ์—†๋Š” ์ด์œ 

yechoi 2021. 8. 30. 15:09
๋ฐ˜์‘ํ˜•

๐Ÿ‘‰ ์ด ๊ธ€์€ C++ - Why static member function can't be created with 'const' qualifier ์ผ๋ถ€๋ฅผ ๋ฒˆ์—ญํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฉค๋ฒ„ ํ•จ์ˆ˜์— ๋ถ™๋Š” const ์ˆ˜์‹์–ด์˜ ์˜๋ฏธ๋Š” ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๊ณ  const ๊ฐ์ฒด์—์„œ ํ˜ธ์ถœ๋„๋ฆฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. static ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋Š” ์–ด๋– ํ•œ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค์—๋„ ์—ฎ์—ฌ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. const ๊ฐ์ฒด์˜ static ๋ณ€์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ผ์€ ์—†์œผ๋ฏ€๋กœ, static ๋ฉค๋ฒ„ ํ•จ์ˆ˜์˜ const ์ˆ˜์‹์€ ๋ง์ด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

const ์ˆ˜์‹์–ด๋ฅผ nonstatic ๋ฉค๋ฒ„ ํ•จ์ˆ˜์— ์ ์šฉํ•˜๋ฉด, ์ด๋Š” this ํฌ์ธํ„ฐ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค C์˜ const ์ˆ˜์‹ ๋ฉค๋ฒ„ ํ•จ์ˆ˜์—์„œ this ํฌ์ธํ„ฐ๋Š” C const * ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด non-const ๋ฉค๋ฒ„ ํ•จ์ˆ˜์—์„œ this ํฌ์ธํ„ฐ์˜ ํƒ€์ž…์€ C*์ฃ . static ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋Š” this ํฌ์ธํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์žˆ๋‹ค ํ•ด๋„ ํŠน์ • ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์—์„œํ˜ธ์ถœ์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•