标准库类型----c++(二)

上一篇 / 下一篇  2008-09-08 20:02:23 / 个人分类:收藏

〈二〉,

  vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理存储元素相关的内存。一个容器中的所有对象都必须是同一种类型的。

  vector 不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector 类型的每一种都指定了其保存元素的类型。因此,vector<int> 和 vector<string> 都是数据类型。

  虽然可以对给定元素个数的 vector 对象预先分配内存,但更有效的方法是先初始化一个空 vector 对象,然后再动态地增加元素.如果没有指定元素的初始化式,那么标准库将自行提供一个元素初始值进行值初始化,具体值为何,取决于存储在 vector 中元素的数据类型

使用 size_type 类型时,必须指出该类型是在哪里定义的。vector 类型总是包括 vector 的元素类型:

向 vector 添加元素

vector 的下标操作类似于 string 类型的下标操作,vector 下标操作的结果为左值

下标操作不添加元素,下标只能用于获取已存在的元素。

必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。

#include <iostream>
#include <vector>
using namespace std;

int main()
{
     vector<int> ivec;   // empty vector
    
     // vector::size_type index; error!
    
     for (vector<int>::size_type ix = 0; ix != 10; ++ix)
     {
        // ivec[ix] = ix; disaster: ivec has no elements
        ivec.push_back(ix); //ok
     }
     for (vector<int>::size_type ix = 0; ix != 10; ++ix)
     {
        cout << ivec[ix] << endl;
     }
   
    system("pause");
    return 0;
} 


TAG: 类型

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-29  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 2660
  • 日志数: 70
  • 图片数: 2
  • 建立时间: 2007-10-16
  • 更新时间: 2008-11-22

RSS订阅

Open Toolbar