vector定義初始化


  1. //頭文件
  2. #include<vector>
  3. using std::vector;
  4. vector<T> v1;
  5. vector<T> v2(v1);
  6. vector<T> v3(n,i);
  7. vector<T> v4(n);
  8. //創建確定個數的vector對象
  9. vector<int> ivec4(10,-1);
  10. vector<string> ivec4(10,"hi!");
  11. //值初始化
  12. //如果沒有指定元素初始化,那么標准庫將個自行提供一個元素初始值進行值初始化,如:vector保存內置類型(int)的元素,那么標准庫將用0值創建元素舒適化式;
  13. //如果保存的是有構造函數類型的元素,標准庫將用改類型的默認構造函數創建元素初始化式;
  14. //vector對象操作
  15. v.empty()//如果v為空則返回true,否則返回false
  16. v.size()//返回v中元素的個數
  17. v.push_back(t)//v的末尾增加一個值為t的元素
  18. v[n]//返回v中位置為n的數
  19. v1=v2 // v1的元素替換為v2中元素的副本;
  20. vi==v2 // 如果v1v2相等則返回true
  21. !=<<=>>=保持這些操作符慣有的含義
  22. //vector對象的size
  23. //使用size_type 必須指出該類型是在哪里定義的
  24. vector<int>::size_type
  25. //向vector中添加元素
  26. push_back()//將一個新元素添加到vector對象的后面
  27. //vector的下標操作
  28. for(vector<int>::szie_type ix=0; ix!=ivec.size(); ix++)
  29. {
  30. ivec[ix]=0;
  31. }
  32. //下標操作不能添加元素只能通過 push_back();下標操作僅能對已存在的元素進行下標操作
  33. //vector迭代器
  34. //標准庫為每種標准容器定義了一種迭代器類型,所有的標准庫迭代器都定義了相應的迭代器類型,而只有少數的容器支持下標操作
  35. //容器的iterator類型
  36. vector<int>::iterator iter;
  37. //數據類型:vector<int>定義的iterator類型。
  38. //begin end操作
  39. //每種容器都定義了一對命名為beginend的函數,用於返回迭代器
  40. vector<int>::iterator iter= ivec.begin();
  41. //把iter初始化為由名為beginvector操作返回值的值。及iter指該元素為ivec[0].
  42. //vectror的自增和解引用運算
  43. //迭代器類型使用解引用操作符(*操作符)來訪問迭代器所指元素:
  44. *iter=0;
  45. ++iter //指向第二個元素
  46. //由於end操作返回的迭代器不指向任何一個元素,因此不能進行自增和解引用操作
  47. //其他操作
  48. ==!=
  49. //應用程序示例
  50. for(vector<int>::iterator iter=ivec.gebin(); iter!=ivec.end();++iter)
  51. {
  52. *iter =0
  53. }
  54. //const_iterator
  55. //const_iterator自身的值可以改變,但不能改變其所指向的元素的值,可以對迭代器進行自增及解引用操作來讀取值,但不能對該元素進行賦值
  56. //const_iteratorconstiterator對象不一樣
  57. //聲明一個const迭代器必須初始化,一旦初始化后就不能改變其值
  58. vector<int> nums(10);
  59. cosnt vector<int>::iterator cit= nums.begin();
  60. *cit=1;//初始化
  61. ++cit;不能改變cit的值
  62. //迭代器的算術操作
  63. iter +n
  64. iter - n
 






免責聲明!

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



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