在类构造函数中初始化const向量(c++)

Initialize a const vector in a class constructor (C++)

本文关键字:向量 c++ const 初始化 构造函数      更新时间:2023-10-16

我试图弄清楚如何初始化const类成员变量(在这种情况下是向量)到类的构造函数中的一些任意值。

基本上,在类定义中,我有:
const vector < pair <float, float> > myVector;

然而,在类的构造函数中,我想将myVector的大小设置为任意值,并使用任意值填充它。然而,我的编译器说,因为它是一个const,它不能被改变,这是有道理的,但我不确定如何完成我在这里要做的事情。

在初始化列表中赋值:

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;
};