KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am little confused with the applicability of reinterpret_cast vs static_cast . From what I have read the general rules are to use static cast when the types can be interpreted at compile time hence the word static . This is the cast the C++ compiler uses internally for implicit casts also. reinterpret_cast s are applicable in two scenarios: convert integer types to pointer types and vice versa convert one pointer type to another. The general idea I get is this is unportable and should be avoided. Where I am a little confused is one usage which I need, I am calling C++ from C and the C code needs to hold on to the C++ object so basically it holds a void* . What cast should be used to convert between the void * and the Class type? I have seen usage of both static_cast and reinterpret_cast ? Though from what I have been reading it appears static is better as the cast can happen at compile time? Though it says to use reinterpret_cast to convert from one pointer type to another?
Tags (comma-separated)
Save Edits
Cancel