0

例如:

thrust::device_vector<float> vec(...);
thrust::device_vector<float>::iterator i = vec.begin();
vec.resize(...);    // vec may get reallocated and moved in memory here

现在,vec.begin()也已更新并仍然有效地指向vec?

4

1 回答 1

3

调整大小后,如果向量最初没有足够的空间,您的迭代器将失效,因此您必须vec.begin()重新获得一个新的有效迭代器。

于 2013-05-05T22:43:29.960 回答