static_cast
Static cast is the simplest type of cast. It is a compile time cast.It does things like implicit conversions between types (such as int to float, or pointer to void*), and it can also call explicit conversion functions (or implicit ones). ``` int main() { int a = 1; char c = 'a'; int* q = (int*)&c; // pass at compile time, may fail at run time int* p = static_cast<int*>(&c); // compile error: [Error] invalid static_cast from type 'char*' to type 'int*' return 0; } ```