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;
}
```