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等等其他类型迭代器全部都是要解引用的。所以不必谈“怎么知道”,迭代器全部都要解引用,除非你不是想用它来得到元素。

  • 相关阅读:
    我的2012
    java抽象工厂模式
    java工厂方法模式
    javascript闭包
    字符串转换成枚举类型
    按位与 按位或 按位异域
    一个查找替换文件的简单工具
    c#写的.net 画流程图的控件
    .net 面试题之 Sql 分页 存储过程
    .net 面试整理2013年3月21
  • 原文地址:https://www.cnblogs.com/hustcser/p/3626141.html
Copyright © 2011-2022 走看看