Безопасно ли std :: vector :: clear () — внутренний вектор двумерного векторного потока?

Допустим, у меня есть объект threadWork инициализируется как:

vector< vector<myType> > threadWork(N_THREADS, vector<myType>());

Я тогда развернуть N_THREADS потоки, каждый из которых выполняет запись через vector::push_back()с отдельным элементом (его собственным vector<myType> объект) из threadWork,

Затем один поток вызывает vector::clear() на своем элементе threadWork,
Это делает недействительными записи других потоков в их элемент?
я могу vector::clear() называется на один элемент threadWork изменять
распределение памяти других элементов threadWork,
так, что поток может писать в неправильные адреса в результате?

2

Решение

Это совершенно нормально. Изменение элемента внешнего вектора никак не влияет на другие элементы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]