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

时间:2015-05-26 01:37:40

标签: c++ class vector const member-functions

我试图找出如何将const类成员变量(在本例中为向量)初始化为类的构造函数中的某些任意值。

基本上,在课程定义中,我有:

const vector < pair <float, float> > myVector;

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

1 个答案:

答案 0 :(得分:1)

在初始化列表中分配:

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