如何从向量向量访问此类的函数?
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();
}
}