Original C language used typecasts, for instance:
pointer to const pointer to const unsigned char -> pointer to const unsigned char
Modern Windows C is using an array of object orientated techniques to virtualize, and provide generic templates. There are for instance different copy constructors, which can do primitive conversion between value and number.
There are new pointer types such as ^, Reference, and %.
In daily life the ^ pointer is important.
The old KR style typecasts still work in Visual Studio.
this->treeView2->Nodes->Add(( System::Windows::Forms::TreeNode^ ) treeView1->SelectedNode->Clone());
So you see I am experimenting with Visual Studio. I like it, it’s cool.
Real C++ brings with it a lot of abstraction, and for instance combining data+function dispatcher, which is one logical level above assembler.
I mean if you really become smart in Assembler, you develope things like reloctation tables. And that was also first used for DOS computers. These tables are still used for new purposes, in all kind of softwares.