📜  在C++ STL中设置:: size()(1)

📅  最后修改于: 2023-12-03 14:51:14.941000             🧑  作者: Mango

在C++ STL中设置:: size()

在C++ STL中,许多容器都支持size()方法。这个方法返回容器中元素的数量。本文旨在介绍在C++ STL中如何设置size()函数。

vector

在vector中,可以通过resize()方法设置容器的大小,从而控制size()的返回值。

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> myVector;
    
    myVector.resize(10); // 设置容器的大小为10
    
    std::cout << "Size of myVector: " << myVector.size() << std::endl;
    
    return 0;
}

上面的代码将容器的大小设置为10,并打印出了容器的大小。输出结果为:

Size of myVector: 10
array

在array中,容器的大小是固定的,无法通过resize()方法改变。因此,调用size()方法将返回容器的大小。

#include <iostream>
#include <array>

int main()
{
    std::array<int, 5> myArray = {1, 2, 3, 4, 5};
    
    std::cout << "Size of myArray: " << myArray.size() << std::endl;
    
    return 0;
}

上面的代码创建了一个大小为5的array,并打印出了容器的大小。输出结果为:

Size of myArray: 5
list

在list中,可以通过resize()方法设置容器的大小,从而控制size()的返回值。需要注意的是,list与vector不同,list提供的resize()方法不是将容器大小改变为指定大小,而是将容器改变为指定大小,新的元素将被默认值填充。

#include <iostream>
#include <list>

int main()
{
    std::list<int> myList;
    
    myList.resize(10); // 设置容器的大小为10
    
    std::cout << "Size of myList: " << myList.size() << std::endl;
    
    return 0;
}

上面的代码将容器的大小设置为10,并打印出了容器的大小。输出结果为:

Size of myList: 10
deque

在deque中,可以通过resize()方法设置容器的大小,从而控制size()的返回值。

#include <iostream>
#include <deque>

int main()
{
    std::deque<int> myDeque;
    
    myDeque.resize(10); // 设置容器的大小为10
    
    std::cout << "Size of myDeque: " << myDeque.size() << std::endl;
    
    return 0;
}

上面的代码将容器的大小设置为10,并打印出了容器的大小。输出结果为:

Size of myDeque: 10
map

在map中,size()方法将返回容器中键值对的数量。

#include <iostream>
#include <map>

int main()
{
    std::map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}};
    
    std::cout << "Size of myMap: " << myMap.size() << std::endl;
    
    return 0;
}

上面的代码创建了一个map,并打印出了容器的大小。输出结果为:

Size of myMap: 3
set

在set中,size()方法将返回容器中元素的数量。

#include <iostream>
#include <set>

int main()
{
    std::set<int> mySet = {1, 2, 3, 4, 5};
    
    std::cout << "Size of mySet: " << mySet.size() << std::endl;
    
    return 0;
}

上面的代码创建了一个set,并打印出了容器的大小。输出结果为:

Size of mySet: 5
总结

通过本文,了解了在C++ STL中如何设置size()方法。对于vector、deque和list容器,可以使用resize()方法来设置容器的大小,从而控制size()方法的返回值。而对于array、map和set容器,容器的大小是固定的,因此size()方法将返回容器中元素或键值对的数量。