static_cast

    C++ 캐스팅 static_cast / reinterpret_cast 예제

    #include #include #include #include #include #include using namespace std; template T* Cast(F* _ptr) { static_assert(std::is_pointer::value, "포인터가 아님"); void* p_void = _ptr; T* p_casted = static_cast(p_void); if (!p_casted) p_casted = reinterpret_cast(p_void); return p_casted; } class A { protected: int val = 10; public: A() { cout