关于返回对 vector 元素的引用,我有一个非常基本的问题。
有一个vec
存储类实例的向量Foo
。我想从此向量访问一个元素。(不想使用向量索引)。我应该如何在这里编写方法getFoo
?
#include<vector>
#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
class Foo {
public:
Foo(){};
~Foo(){};
};
class B {
public:
vector<Foo> vec;
Foo* getFoo();
B(){};
~B(){};
};
Foo* B::getFoo(){
int i;
vec.push_back(Foo());
i = vec.size() - 1;
// how to return a pointer to vec[i] ??
return vec.at(i);
};
int main(){
B b;
b = B();
int i = 0;
for (i = 0; i < 5; i ++){
b.getFoo();
}
return 0;
}