Безопасно ли 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так, что поток может писать в результате неправильные адреса в результате?

1 ответ

Решение

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

Другие вопросы по тегам