c++ vector对象相关总结

时间:2021-12-11 07:42:36

  下面随笔讲解c++ vector对象。

vector对象

  为什么需要vector?

  • 封装任何类型的动态数组,自动创建和删除。
  • 数组下标越界检查。
  • 封装的如ArrayOfPoints也提供了类似功能,但只适用于一种类型的数组。

vector对象的定义

vector<元素类型> 数组对象名(数组长度);

例:

    vector<int> arr(5)
    建立大小为5的int数组

vector对象的使用

对数组元素的引用

与普通数组具有相同形式:

vector对象名 [ 下标表达式 ]

vector数组对象名不表示数组首地址

  • 获得数组长度
  • 用size函数

数组对象名.size()

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//例 vector应用举例
 
#include <iostream>
 
#include <vector>
 
using namespace std;
 
//计算数组arr中元素的平均值
 
double average(const vector<double> &arr)
 
{
 
  double sum = 0;
 
  for (unsigned i = 0; i<arr.size(); i++)
 
  sum += arr[i];
 
  return sum / arr.size();
 
}
 
int main() {
 
  unsigned n;
 
  cout << "n = ";
 
  cin >> n;
 
  vector<double> arr(n); //创建数组对象
 
  cout << "Please input " << n << " real numbers:" << endl;
 
  for (unsigned i = 0; i < n; i++)
 
    cin >> arr[i];
 
  cout << "Average = " << average(arr) << endl;
 
  return 0;
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//基于范围的for循环配合auto举例
 
#include <vector>
 
#include <iostream>
 
int main()
 
{
 
  std::vector<int> v = {1,2,3};
 
  for(auto i = v.begin(); i != v.end(); ++i)
 
    std::cout << *i << std::endl;
 
  for(auto e : v)
 
    std::cout << e << std::endl;
 
}

以上就是c++ vector对象相关总结的详细内容,更多关于c++ vector对象的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/iFrank/p/14446990.html