std::vector::clear()-ing 二维向量线程的内部向量是否安全?

Is std::vector::clear()-ing an inner vector of a 2-D vector thread safe?

假设我有一个对象 threadWork 初始化为:

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

然后我部署 N_THREADS 个线程,每个线程通过 vector::push_back() 执行写入 threadWork 的单独元素(它自己的 vector<myType> 对象)。

一个线程然后在其 threadWork 的元素上调用 vector::clear()。 这是否会使其他线程对其元素的写入无效? 即 vector::clear() 可以调用 threadWork 改变的一个元素 threadWork 的其他元素的内存分配, 结果线程可能正在写入无效地址?

这完全没问题。改变外部向量的一个元素不会以任何方式影响其他元素。