What is the main aim of accessing data via a pointer address using reinterpret_cast. Is it faster, if so, how exactly?
Below a program, which prints same struct data via . operator and via pointer(reinterpret cast).
#include <iostream>
using namespace std;
struct values{
    int one;
    int two;
    char three;
    int four;
};
int main()
{
    values v { 8, 5, 'k', 653};
    // access via . (or ->) operator
    cout << v.one << endl;
    cout << v.two << endl;
    cout << v.three << endl;
    cout << v.four << endl;
    //via pointer access - how can this be beneficial?
    values* vPtr = &v;
    int* intPtr = reinterpret_cast<int*>(vPtr);
    cout << *intPtr << endl;
    intPtr++;
    cout << *intPtr << endl;
    intPtr++;
    char* charPtr = reinterpret_cast<char*>(intPtr);
    cout << *charPtr << endl;
    charPtr += 4;
    int* intPtr2 = reinterpret_cast<int*>(charPtr);
    cout << *intPtr2<< endl;
    return 0;
}
 
     
     
     
     
    