gpt4 book ai didi

c++ - 模板 vector 迭代器的 NULL/默认值

转载 作者:搜寻专家 更新时间:2023-10-31 02:07:31 24 4
gpt4 key购买 nike

我希望将 vector 迭代器作为我在 C++ 中的类定义的一部分,并希望将它们初始化为固定的默认值。在指针的情况下,我会初始化为 NULL,不确定应该为 vector 迭代器做什么。

class ball{
private:
double x;
double v;
double timeToNext;
vector<ball>::iterator lball, rball;//How should they be initialized?
public:
ball() { //default constructor
x=-1*INF;
v=0;
cout<<"Ball added"<<endl;
//want to initialize iterators
}
void setx(double &pos){x=pos;}
void setv(double &vel){v=vel;}
void setTimeToNext() {
double tl, tr;
}
double getx(){return x;}
double getv(){return v;}
};

最佳答案

wish to initialize them to a fixed default value. In the case of pointers, I would have initialized to NULL, not sure what should be done for vector iterators.

std::vector::iterator 没有这样的东西。 std::vector::iterator 的实例是不合理的,除非它们与 std::vector 关联。

您可以让您的 std::vector::iterator 默认初始化,但您不能使用它,除非它被设置为与 std::的实例关联的合适值 vector

关于c++ - 模板 vector <typename> 迭代器的 NULL/默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48528599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com