#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/