在 class 构造函数中初始化一个常量向量 (C++)
Initialize a const vector in a class constructor (C++)
我想弄清楚如何在 class 的构造函数中将 const class 成员变量(在本例中为向量)初始化为一些任意值。
基本上,在 class 定义中,我有:
const vector < pair <float, float> > myVector;
然而,在 class 的构造函数中,我想将 myVector
的大小设为任意值,并用任意值填充它。但是,我的编译器说因为它是一个常量,所以不能更改,这是有道理的,但我不确定如何完成我在这里尝试做的事情。
在初始化列表中分配它:
class MyClass {
public:
MyClass()
: myVector(createVector())
{ }
private:
vector<pair<float,float>> createVector() {
vector<pair<float,float>> v;
// populate with whatever
return v;
}
const vector<pair<float,float>> myVector;
};
我想弄清楚如何在 class 的构造函数中将 const class 成员变量(在本例中为向量)初始化为一些任意值。
基本上,在 class 定义中,我有:
const vector < pair <float, float> > myVector;
然而,在 class 的构造函数中,我想将 myVector
的大小设为任意值,并用任意值填充它。但是,我的编译器说因为它是一个常量,所以不能更改,这是有道理的,但我不确定如何完成我在这里尝试做的事情。
在初始化列表中分配它:
class MyClass {
public:
MyClass()
: myVector(createVector())
{ }
private:
vector<pair<float,float>> createVector() {
vector<pair<float,float>> v;
// populate with whatever
return v;
}
const vector<pair<float,float>> myVector;
};