#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 header 中得到了数万亿个错误。

我在这里要做的是初始化 vector ,并确保以后不能更改值,并确保不能添加任何新值。

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

怎么了

最佳答案

这也是一个const vector ,它将使您的代码得以编译。

typedef const std::vector<int> set_t;

仅将std::vector设为const将仅公开非修改接口(interface)。您的int不会更改。

关于c++ - 用const初始化列表初始化const vector ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24644555/

10-11 22:39
查看更多