본문 바로가기

casting2

CS 기초강좌 10. 캐스팅(casting), is, as, 변환 연산자 CS 기초강좌 10. 캐스팅(casting), is, as, 변환 연산자 c# 캐스팅 규칙 int n = 10; float f = 5.5f; f = n; //가능 n = f; //불가, 데이터 손실이 일어나는 경우 불가 데이터의 손실이 날 수 있는 경우, 캐스팅(암시적 형 변환)이 되지 않는다. int n = 10; float f = 5.5f; f = n; //가능 n = (int)f; //가능 명시적 형 변환을 가능 명시적으로 (int) 를 표기시켜 형 변환하는 것은 가능하다.(데이터 손실은 당연히 발생함 is, as 다음 코드를 보자. using System; class Car { } class Tank : Car { public void Fire() { Console.WriteLine("Fire!!.. 2020. 11. 16.
CPP 초급 강좌 22. C++ Explict type conversion(casting) CPP 초급 강좌 22. C++ Explict type conversion(casting) c++ 에서의 명시적 형 변환에 대해 적어보겠습니다. 코드를 봅시다. int* p = malloc(sizeof(int) * 100); int* p에 인트 100개의 매모리 공간을 할당하는 코드입니다. 해당 코드는 정상 동적하지 않습니다. 왜냐하면 malloc 의 반환형이 void* 이기 때문이죠. c 스타일 코딩이라면 다음과 같이 처리할 수 있습니다. int* p = (int*)malloc(sizeof(int) * 100); 반환 타입인 void*를 int* 로 명시적으로 형변환을 하여 사용할 수 있습니다. 정상동작하고 문제없는 코드입니다. 이를 그대로 사용해도 되겠지만, c++에서는 이와 다른 명시적 형변환들을 .. 2020. 11. 1.