在模板化对象的矢量上获得迭代器,可以使用 C++ 标准库中的迭代器。具体来说,可以使用 std::vector<T>::iterator
类型的迭代器来遍历模板化对象的矢量。
以下是一个示例代码:
#include<iostream>
#include<vector>
template<typename T>
void print_vector(const std::vector<T>& vec) {
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout<< std::endl;
}
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
print_vector(vec);
return 0;
}
在这个示例中,我们定义了一个模板化的 print_vector
函数,该函数接受一个 std::vector<T>
类型的参数,并使用迭代器遍历该矢量并打印其元素。在 main
函数中,我们创建了一个 std::vector<int>
类型的矢量,并调用 print_vector
函数来打印其元素。
需要注意的是,在使用迭代器时,应该使用 std::vector<T>::begin()
和 std::vector<T>::end()
函数来获取矢量的开始和结束迭代器。此外,还可以使用 std::vector<T>::rbegin()
和 std::vector<T>::rend()
函数来获取矢量的反向迭代器。
领取专属 10元无门槛券
手把手带您无忧上云