标准库类型<vector>


要想使用vector,必须包含头文件#include<vector>

  1. 定义和初始化vector对象

  •     默认初始化vector对象创建一个指定类型的空vector:    vector<string> svec;
  •    列表初始化vector对象,用花括号括起来的初始元素值赋给vector对象;vector<string> articles = {"an", "the"}
  •    创建指定数量的元素,注意这种方法只能使用直接初始化,而不能拷贝;vector<string> sevc(10,"hi!")
   

   2.  向vector对象中添加对象

经常我们创建一个vector时并不清楚实际所需的元素个数,元素的值也无法确定,此时更好的处理办法是:先创建一个空vector,然后在运行时再利用vector的成员函数push_back向其中添加元素(添加到vector对象元素的尾端)。

  • 示例:把0—99添加到vector对象v2中

vector<int> v2;
for(int i=0;i !=100;++i)
   v2.push_back(i);
  • 示例:从标准输入中读取单词,将其作为vector对象的元素存储
string word;
vector<string> text;
while(cin>>word)
   text.push_back(word);
  • 注意:如果循环体内部包含有向vector对象添加元素的语句,则不能使用范围for循环。
  3.  其他vector操作
除了push_back之外,vector还提供了几种其他操作,大多数的和string相关操作类似:
v.empty()
v.size()                 //返回v中元素的个数
v[n]                    //返回v中第n个位置上元素的引用
v1=v2; 
v1={a,b,c...};
v1==v2;
v1<v1...;
  • 可以使用范围for语句处理vector对象中的的所有元素
vector<int> v{1,2,3,4,5,6,7,8};
for(auto &i:v)
   i*=i;
for(auto i:v)
   cout<<i<<" ";
cout<<endl;
  • 使用下标运算符能获取到指定的元素,下标起始于0,类型是vector::size_type.注意不能用下标形式添加元素。
<span style="font-weight: normal;">vector<unsigned> scores(11,0);
unsigned grade;
while(cin>>grade)
{
     if(grade<=100)
</span><pre name="code" class="cpp" style="font-size: 18px;"><span style="font-weight: normal;">        {
            grade=grade/10;
            ++scores[grade];</span></span>

 
    
 
   


这两行代码是 C++ 程序中常见的头文件包含声明,分别引入了 `<iostream>` 和 `<vector>` 标准库。 ### 1. `#include <iostream>` - **作用**: 引入输入输出流的标准库。 - **功能**: 提供了控制台输入输出的功能,比如 `std::cout`、`std::cin` 等。`std::cout` 通常用于向标准输出(通常是屏幕)发送文本信息,而 `std::cin` 则从标准输入(通常是键盘)读取数据。 - **常见用途**: ```cpp #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; int age; cout << "请输入您的年龄:"; cin >> age; cout << "您输入的年龄是:" << age << endl; return 0; } ``` ### 2. `#include <vector>` - **作用**: 引入动态数组容器的标准模板库 (STL) 组件。 - **功能**: 定义了一个可以自动调整大小的数组类型 `std::vector<T>`,其中 `T` 可以是你想要存储的数据类型的任意一种。`vector` 支持随机访问操作,并提供了一系列成员函数来管理和操作元素,例如增加元素、删除元素以及访问特定位置的元素等。 - **常见用途**: ```cpp #include <vector> using namespace std; int main() { vector<int> numbers; // 创建一个空的整型向量 // 向向量中添加元素 numbers.push_back(1); numbers.push_back(2); numbers.push_back(3); // 访问向量中的元素 for (size_t i = 0; i < numbers.size(); ++i) { cout << numbers[i] << ' '; } // 或者使用范围for循环 for (const auto& num : numbers) { cout << num << ' '; } return 0; } ``` 通过包含这两个头文件,您可以轻松地在程序中处理输入输出和管理动态数组,大大提高了编写代码时的灵活性与便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值