Scripts are simplified versions of programming languages, so that designers and other non-programmers—or programmers with extremely little skill—can work with them.
C#, used by Unity, is a fully fledged OO language that has far more features than C++ and is therefore more complicated. It isn't more complicated to understand, because it's better engineered.
You can code in anything that compiles to CLI, including C++, and use that code in your Unity games, providing you don't mind using Visual Studio. Compile your code into C++/CLI. The DLLs can be dragged and dropped into your unity project as assets and then referenced by C# classes attached to your game objects. You will only have problems if you want your CLI code to interop with native windows code, and then only with portability to other platforms that Unity can target.