向量的begin()和end()是用于获取指向向量第一个元素和最后一个元素之后位置的迭代器。begin()返回的迭代器指向向量的第一个元素,而end()返回的迭代器指向向量最后一个元素之后的位置。
对于自定义向量,你可以按照以下步骤编写begin()和end()函数:
以下是一个示例代码:
#include <iostream>
#include <vector>
template<typename T>
class MyVector {
private:
std::vector<T> data;
public:
// 自定义向量类的其他成员函数和数据成员
// 返回指向向量第一个元素的迭代器
typename std::vector<T>::iterator begin() {
return data.begin();
}
// 返回指向向量最后一个元素之后位置的迭代器
typename std::vector<T>::iterator end() {
return data.end();
}
};
int main() {
MyVector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
// 使用begin()和end()迭代器遍历自定义向量
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例代码中,我们定义了一个名为MyVector的自定义向量类,其中包含了begin()和end()函数。在main()函数中,我们创建了一个MyVector对象,并使用begin()和end()函数遍历输出向量中的元素。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云