In C++, it is well known that when trying to access a data-member or a function inside of an object, you put the object name followed by a dot, then whatever you want to access. But if the type is a pointer, then instead of a dot you use an arrow, which is "->". I know this, but what I want to know is why the creators of C++ made it this way.
Example:
random_object o;
o.random_field;
However with pointers:
random_object* o = new random_object();
o->random_field;