Вариант - очищаются ли старые значения при присвоении нового значения? - PullRequest
0 голосов
/ 27 мая 2020

Очищаются ли значения предыдущего варианта, когда этому варианту присваивается новое значение?

std::variant<std::string, std::vector<int>> v;
v = std::string("foo");
v = std::vector<int>(); // is string's destructor called above?

Я предполагаю, что предыдущие значения для контейнеров автоматически освобождаются при установке новых значений в вариант.

1 Ответ

2 голосов
/ 27 мая 2020

да, деструктор string s вызывается перед копированием vector<int>.

...