As gbjbaanb correctly says, STL can be implemented in simple C ++ without relying on any kind of magic compiler.
However, if you go to the STL source code for your compiler, you are likely to see code that is either not standard or that you should not write yourself.
STL can be fully implemented in standard C ++, but this does not mean that the compiler authors are not allowed to improve it sometimes, using extensions for the compiler. For example, they can embed non-standard code that provides better error messages or perhaps works with some flaws in their compiler, or perhaps includes special optimizations using additional functions of this particular compiler.
They also consistently use names that you are forbidden to use. For example, template parameters are usually referred to as _Type , which, starting with an underscore followed by a capital letter, are reserved for implementation. The standard library is allowed to use them, but we are not. Therefore, if you are going to write your own implementation of STL, you will have to make small changes, but this is not due to any magic, but simply to avoid name collisions between the standard library and user code.
jalf Aug 26 2018-10-18T00: 00Z
source share