|
1
11
标准规定了这些指针何时失效。引用到
否则,在底层对象的生命周期内,引用和迭代器是安全的。 |
|
|
2
1
如果调整矢量的大小,则可以通过复制和/或赋值有效地重新创建内容。新包含的对象(可能)将位于不同的位置,因此指向或其成员的任何指针(可能)都将无效-您当然应该假定是这样。 |
|
|
3
1
是的,你的直觉是正确的。如果标准提到迭代器是无效的,那么它也倾向于声明引用也是无效的。 例如,下面的部分文本描述了向量的“保留”成员函数的一些效果:
我无法想象任何容器中的任何成员函数都会使特定元素的迭代器失效,但不会使指向这些相同元素的指针或引用失效,但我想我可能错了。 最好检查标准对您的特定容器和成员函数所说的内容。 |
|
|
4
0
您的假设对于向量是合理的,因为迭代器可以作为围绕指针的薄包装器实现。作为指针的替代,您可以存储到向量的偏移量。插入和删除会使它们失效,但不会通过内存重新分配而失效。 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
tTt · 使用堆栈中的值重新分配指针 1 年前 |
|
|
manuel · 现代C中空指针的替代方案++ 1 年前 |