C ++ STL中向量的大小和容量之间的差异

1)C ++ STL向量大小

向量大小是向量元素的总数,对于所有编译器而言,向量大小始终相同。为了获得向量的大小,使用了vector :: size()函数

阅读更多:C ++ STL vector :: size()函数

2)C ++ STL向量容量

容量是向量占用的存储空间;向量的元素作为数组存储在内存中。因此,容量是向量(或内部数组)当前正在使用的空间量。它也将等于大于向量的大小。在不同的编译器上可能有所不同。为了获得向量的容量,使用了vector :: capacity()函数

阅读更多:C ++ STL vector :: capacity()函数

C ++ STL程序演示向量大小和容量之间的差异

//C ++ STL程序演示之间的区别 
//向量大小和容量 
#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量声明
    vector<int> v1{ 10, 20, 30, 40, 50 };
    vector<int> v2{ 100, 200, 300, 400 };

    //向量v1的大小,容量和元素
    cout << "size of v1: " << v1.size() << endl;
    cout << "capacity of v1: " << v1.capacity() << endl;
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    //向量v2的大小,容量和元素
    cout << "size of v2: " << v2.size() << endl;
    cout << "capacity of v2: " << v2.capacity() << endl;
    cout << "v2: ";
    for (int x : v2)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出结果

size of v1: 5
capacity of v1: 5
v1: 10 20 30 40 50
size of v2: 4
capacity of v2: 4
v2: 100 200 300 400