C++ — это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет похожий синтаксис, но теперь это совершенно другой язык.
GCC — это коллекция компиляторов GNU. Это де-факто стандартный компилятор для C, C++, Go, Fortran и Ada в Linux, а также поддерживает многие другие языки и платформы.
Microsoft Studio Visual C++ 2013 (MSVC 12.0) — это коммерческий (доступна бесплатная версия) продукт интегрированной среды разработки (IDE) от Microsoft для языков программирования C, C++ и C++ / CLI.
Тег templates используется в нескольких контекстах: универсальное программирование (особенно C++) и создание данных / документов с использованием механизмов шаблонов.
Ошибка замены не является ошибкой. Это метод программирования на C++, который позволяет шаблонам проверять свойства своих параметров шаблона, что позволяет использовать различные специализации, если доступны определенные виды объектов.