Если переменная объявлена как static
в области действия функции, она инициализируется только один раз и сохраняет свое значение между вызовами функции. Что именно это время жизни? Когда вызывается его конструктор и деструктор?
void foo()
{
static string plonk = "When will I die?";
}