Вариантный объект содержит и управляет временем существования значения. Если variant содержит значение, тип этого значения должен быть одним из типов аргументов шаблона, переданных для варианта. Эти аргументы шаблона называются альтернативами.