使用const初始化列表初始化const向量

时间:2014-07-09 02:36:29

标签: c++ vector

#include <vector>

int main()
{
    typedef const std::vector<const int> set_t;
    set_t Low = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};

    return 0;
}

编译上面的代码时,我从STL标题中得到了数万亿个错误。

我想在这里做的是初始化一个向量,并确保以后某些时候不能更改值,并确保不能添加新值。

此矢量应使用初始值创建一次,不得以任何方式更改。

这里有什么问题?

1 个答案:

答案 0 :(得分:3)

这也是一个const向量,它将让你的代码编译。

typedef const std::vector<int> set_t;

单独std::vector const 将仅公开非修改界面。您的int不会改变。