C++ ํ์
๋ณํ#
int main() {
// -------๋นํธ์ด ์ฌ๊ตฌ์ฑ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ถ๋ฅ --------
{
// 1. ๊ฐ ํ์
๋ณํ(implicit conversion)
// ํน์ง) ์๋ฏธ๋ฅผ ์ ์งํ๊ธฐ ์ํด์, ์๋ณธ ๊ฐ์ฒด์ ๋ค๋ฅธ ๋นํธ์ด ์ฌ๊ตฌ์ฑ
// ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊น๋ณด๋ฉด, ์๋ณธ ๋ฐ์ดํฐ์ ๋ค๋ฅธ ๋นํธ์ด๋ก ์ฌ๊ตฌ์ฑ๋์ด์๋ ๋ถ๋ถ์ ํ์ธํ ์ ์๋ค.
int a = 123456789;
float b = (float)a;
}
{
// 2. ์ฐธ์กฐ ํ์
๋ณํ
// ํน์ง) ์ฐธ์กฐ ํ์
๋ณํ์ ์ฐธ์กฐ ํ์
์ ์ด์ฉํด์, ์๋ณธ ๊ฐ์ฒด์ ๋นํธ์ด์ ๊ทธ๋๋ก ์ฐธ์กฐ (๋ณด๋ ๊ด์ ๋ง ๋ณํ)
// ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊น๋ณด๋ฉด, ์๋ณธ ๋ฐ์ดํฐ์ ๊ฐ์ ๋นํธ์ด๋ก ์ฌ๊ตฌ์ฑ๋์ด์๋ ๋ถ๋ถ์ ํ์ธํ ์ ์์ง๋ง, ์ค์ ๊ฐ์ ์ถ๋ ฅ์ ์๋ณธ ๊ฐ์ฒด์ ๋ค๋ฅธ ๊ฐ์ ์ถ๋ ฅํ๋ค.
int a = 123456789;
float b = (float&)a;
}
// -------์์ ๋ ๋ถ๋ฅ(๋ฐ์ดํฐ ์์ค) --------
{
// 3. ์์ ํ ํ์
๋ณํ
// ์
์บ์คํ
ํ๋ ๊ฒฝ์ฐ (char -> short -> int)
int a = 123456789;
__int64 b = a;
}
{
// 4. ์์ ํ์ง ์์ ํ์
๋ณํ
// ์๋ฏธ๊ฐ ํญ์ 100% ๋ณด์ฅ๋์ง ์๋ ๊ฒฝ์ฐ
// ํ์
์ด ๋ค๋ฅด๊ฑฐ๋, ๋ค์ด์บ์คํ
ํ๋ ๊ฒฝ์ฐ
int a = 123456789;
float b = a;
short c = a;
}
// -------์๋์ ๋ฐ๋ฅธ ๋ถ๋ฅ --------
{
// 5. ์์์ ํ์
๋ณํ
// ํ์
๋ฐํ ๊ท์น์ ๋ฐ๋ผ์ ์๋ ํ์
๋ณํ
int a = 123456789;
float b = a;
}
{
// 6. ๋ช
์์ ํ์
๋ณํ
int a = 123456789;
float b = (float)a;
}
return 0;
}