C++
Вспомнив опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов), так и с точки зрения времени вычислений (благодаря быстродействию C). В первую очередь в C были добавлены классы (с инкапсуляцией), наследование классов, строгая проверка типов, inline-функции и аргументы по умолчанию. Ранние версии языка, первоначально именовавшегося «C with classes» («Си с классами»), стали доступны с 1980 года.
Вариативный шаблон
Вариативный шаблон в C++ был разработан Дугласом Грегором и Яакко Ярви и был позже стандартизирован в C++11. До появления C++11, шаблоны (классов и функций) могли принимать только фиксированное число аргументов, которые должны были быть определены, когда шаблон был впервые объявлен. 
Синтаксис вариативного шаблона:Приведенный выше шаблон класса tuple (от англ. кортеж) может принять любое число входных параметров. Например, экземпляр вышеуказанного шаблонного класса создают с тремя аргументами:Число аргументов может быть равно нулю, поэтому codice_1 будет также работать.