C++11:从向量向量访问成员函数



如何从向量向量访问此类的函数?

someNamespace::SomeClass *test; test->doSomething();

如果我想拥有同一类的多个实例,我给出如下:

std::vector< std::vector<someNamespace::SomeClass> > test;test.resize(SomeValueofSize_t);

"test"的实例数在运行时是已知的。

这就是我现在访问doSomething()的方式。

test[0][0].doSomething();

代码编译,但我不确定这是否是正确的方法

我不清楚为什么你有类对象的二维向量,但要按照你的要求做,你应该像@nwp建议的那样迭代两个维度。

假设您有一个对象向量someClass称为test,而不是指向someClass实例的指针,即std::vector <std::vector <someNamespace::SomeClass> > test;你会像这样迭代它们并调用doSomething(). 如果doSomething()必须修改test对象,只需删除const即可。

for (const auto& element : test)
{
for (const auto& obj : element)
{
obj.doSomething();
}
}

最新更新