例如,std::vector<std::vector<int>>::iterator大于std::vector<int>::iterator?
标准库迭代器类型的定义(以及它们的大小)是实现定义的.这有可能sizeof(vector<T>::iterator)取决于T.但是,在实践中,情况往往并非如此.vector<T>::iterator在实践中只是一个包装T*.同样,list<T>::iterator通常是指向列表节点的指针的包装器.某些类型(如deques)可能具有更复杂的迭代器,但大小仍不太可能依赖于模板参数.
(编辑:对于std::array迭代器是一个指针.)
| 归档时间: |
|
| 查看次数: |
1407 次 |
| 最近记录: |