初始化vector 對象:
vector<T> v1 v1 為空vector vector<T> v2(v1) vector<T> v2 = v1 vector<T> v3(n,val) vector<T> v4(n) vector<T> v5 {a,b,c..} vector<T> v5 = {a,b,c..}
vector<int> s(10,2) //10個元素每個元素是2
vector<int> s{10,2}//2個元素 10和2
vector操作:
v.empty() v.size() v.push_back() v[n] v1 == v2 v1 = {a,b,c}
迭代器操作:
vector<int> r = {1,2,3,4,5,6}; vector<int>::iterator it; for(it = r.begin();it!= r.end();it++) cout << *it << endl;
數組:
數組a[d] d必須是常量表達式 unsigned cnt = 42; int a[cnt] //錯誤 string strs[get_size()] //錯誤,當get_size是 constexpr時正確
char a3[] = "c++"; a3的長度為4 還有空字符‘\0’
數組不允許將數組內容拷貝給其他數組作為初始值,也不能用數組為其他數組賦值
int a[] = {1,2,3};
int a2[] = a;//錯誤
a2 = a; //錯誤
int len = sizeof(a)/sizeof(a[0]);
復雜數組:默認情況類型修飾從右往左
int *ptr [10]; // ptr是含有10個int*的數組 int &refs[10]; // 錯誤 不存在引用數組 int (*parray)[10] = &arr; // parray 是個指針,指向大小為10的數組,數組中的類型為int int (&arrtest)[10] = arr; //arrtest 是個引用,引用類型為大小為10的數組,數組中的類型為int
遞增
int j = 0,i;
i = ++j; // i=1,j=1
i = j++; // i=1,j=2