在《c++ primer》第9章的9.1.1容器的初始化有这样的容器初始化的方式:
原文:
回顾一下指针,我们知道指针就是迭代器,因此允许通过使用内置数组中的一对指针初始化容器也就不奇怪了:
char *words[] = {"stately", "plump", "buck", "mulligan"}; // calculate how many elements in words size_t words_size = sizeof(words)/sizeof(char *); // use entire array to initialize words2 list<string> words2(words, words + words_size);
我尝试使用
int arr[5]={1,1,2,0,8};
vector<int > m_vtmp;
m_vtmp(arr,arr+5); //ERROR!
发现是不能这样初始化的,只有定义的时候才能这样初始化!(这种性质很像const )
如
vector<int > m_vtmp(arr,arr+5); //OK!