zoukankan      html  css  js  c++  java
  • [003]容器和动态数组的使用

    例:

    编写程序读入一组 string 类型的数据,并将它们存储在vector 中。接着,把该 vector 对象复制给一个字符指 针数组。为 vector 中的每个元素创建一个新的字符数 组,并把该 vector 元素的数据复制到相应的字符数组 中,最后把指向该数组的指针插入字符指针数组。

     1 #include<iostream>
     2 #include<string>
     3 #include<vector>
     4 
     5 using namespace std;
     6 
     7 int main() {
     8     vector<int> vect;
     9     int vectCnt;
    10 
    11     cout << "please input:"<<endl;
    12     while (cin >> vectCnt) {
    13         vect.push_back(vectCnt);
    14     }
    15  
    16     int *pTemp = new int[vect.size()];
    17     int *p = pTemp;
    18     for (vector<int>::iterator iter = vect.begin(); iter != vect.end(); ++iter, ++p) {
    19         *p = *iter;
    20         cout << *p << endl;
    21     }
    22     
    23     delete [] pTemp;
    24     return 0;
    25 }

    容器可以直接解引用的原理在于:

          迭代器这一概念本身就是重载过operator * 用来解引用得到元素的,这和是不是vector无关,不仅是vector,queue等等其他类型迭代器全部都是要解引用的。所以不必谈“怎么知道”,迭代器全部都要解引用,除非你不是想用它来得到元素。

  • 相关阅读:
    FFOM_秒交易行
    FFOM_脚本源代码
    农药_挂周金币
    保存数据,父页面列表数据更新
    点击按钮不弹出新窗口
    GridView1_RowDeleting 弹出确认对话框
    判断复选框
    获取Guid
    2019 gplt团体程序设计天梯赛总结
    Codeforces Round #550 (Div. 3)E. Median String
  • 原文地址:https://www.cnblogs.com/hustcser/p/3626141.html
Copyright © 2011-2022 走看看