I am trying to make a windows form, and researching the web, I have seen that it is the c++/cli language, but I do not understand very well what this means. As I understand it, it is a modification of c++ by Windows, but I don't see any kind of relationship with the standard language, since if I want to print by console in c++ I would use std::cout << "Hola mundo"
and in c++/cli it would beConsole::WriteLine("Hola Mundo");
Why, if it has such a different syntax, is it considered part of the same language (an extension or a modification)?
C++ is a native language (an executable binary is generated). C++.Net is a virtual machine based language (part of the .Net family). In this case, the compiler does not generate executable code, but rather a kind of intermediate code that is processed by the .Net virtual machine during the execution of the program. This virtual machine is in charge of converting that intermediate code into executable binary.
The .Net version of C++ is not pure C++ but rather a free version of the language that has been adapted to be compatible with the .Net framework.
Portability:
Reverse engineering:
Licenses:
Basic library:
And the thing continues...
As you can see, the differences are notable and the choice of one or another alternative will completely mark the way you develop your projects.