如何从向量矢量访问此类的函数?
someNamespace::SomeClass *test;
test->doSomething();
如果我想拥有同一个类的多个实例,我就是这样给出的:
std::vector< std::vector<someNamespace::SomeClass> > test;
test.resize(SomeValueofSize_t);
“test”的实例数在运行时是已知的。
这就是我现在访问doSomething()
的方式。
test[0][0].doSomething();
代码编译,但我不确定这是否是正确的方法
答案 0 :(得分:1)
我不清楚为什么你有一个类对象的二维向量,但要做你所要求的,你应该迭代这两个维度,如@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();
}
}