C++ 명시적캐스팅
[C++] Explicit Casting
1. C++ Explicit Casting 개념 #include #include int main() { int* p1 = malloc(sizeof(int)*10); free(p1); } - 위의 코드를 살펴보면 malloc을 사용해 메모리를 할당하고 주소를 int포인터로 받았다. - 하지만 사실 malloc이 반환하는 데이터 타입은 void포인터이다. 이것을 int포인터에 담을 수 있는가? - 위의 표에 따라 C++에서는 암시적 변환이 허용되지 않아 컴파일 시 에러가 난다. - 그렇다면 왜 새로운 캐스팅이 필요할까? => C의 캐스팅은 논리적이지 않고, 위험하고, 버그의 가능성이 높다. 2. C언어 방식 캐스팅의 단점 #include int main() { int n = 0; //double* p1 = ..