c++ 常見問題之 vector 和數組


初始化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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM