c++ - 在类构造函数中初始化常量 vector (C++)

标签 c++ class vector constants member-functions

我正在尝试弄清楚如何将 const 类成员变量(在本例中为 vector )初始化为类构造函数中的一些任意值。

基本上,在类定义中,我有:

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

然而,在类的构造函数中,我想将 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;
};

关于c++ - 在类构造函数中初始化常量 vector (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448131/

相关文章:

r - 根据指标添加反向指数

c++ - 按值传递指针和按引用传递指针之间的区别?

c++ - 错误 C2440 : 'initializing' : cannot convert from 'initializer-list'

javascript - 更改部分属性

ruby - 在 Ruby 中获取调用类的名称

c# - 通用集合类?

c++ - 如何在 C++ 中快速计算 vector 的归一化 l1 和 l2 范数?

c++ - 如何在构造函数中初始化 vector 大小?

c++ - 为什么这个程序不打印垃圾值

c++ - 模板和非模板成员函数指针的类型标识之间的区别