📅  最后修改于: 2023-12-03 14:51:14.941000             🧑  作者: Mango
在C++ STL中,许多容器都支持size()方法。这个方法返回容器中元素的数量。本文旨在介绍在C++ STL中如何设置size()函数。
在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中,容器的大小是固定的,无法通过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中,可以通过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中,可以通过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中,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中,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()方法将返回容器中元素或键值对的数量。