我想编写一个类,我可以从外部提供向量,然后该类中的成员函数可以写入提供的向量。如果有可能,我无法想到如何做到这一点。
我已经能够在构造函数中提供向量并向其写入,但我需要能够从其他一些成员函数中执行此操作。
感谢任何帮助。
答案 0 :(得分:3)
这看起来如下:
class Foo {
std::vector<int>* pvec;
public:
Foo() : pvec(nullptr) {}
void suppyVec(std::vector<int>& v) {
pvec = &v;
}
void doSomething() {
// process pvec
assert(pvec != nullptr);
std::vector<int>& vec = *pvec;
}
};
或参考,但你必须使用构造函数:
class Foo {
std::vector<int>& vec;
public:
Foo(std::vector<int>& v) : vec(v) { }
void doSomething() {
// process vec
}
};