21xrx.com
2025-03-28 04:16:02 Friday
文章检索 我的文章 写文章
C++中size的用法详解
2023-06-28 11:41:41 深夜i     21     0
C++ size 用法 详解

在C++中,size()是一个非常常用的成员函数,它通常用于获取容器的大小。无论是对于数组还是STL容器,都可以使用size()函数来获取它们的大小。在这篇文章中,我们将对C++中size()的用法进行详细解释。

1. 数组

对于数组来说,可以使用sizeof运算符来获取其大小。但是,使用sizeof运算符只能在数组的定义范围内使用,如果数组作为函数参数传递时,就无法得知其大小。因此,使用size()函数可以更方便地获取数组的大小。

下面是一个例子:

int arr[] = 3;
int size = sizeof(arr) / sizeof(int);
// 使用size()函数也可以获取数组大小
int arrSize = sizeof(arr) / sizeof(arr[0]); // arr[0]表示数组的第一个元素

2. STL容器

对于STL容器来说,size()函数是一个成员函数,用于获取容器元素的数量。下面是一些STL容器的使用示例:

#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <set>
#include <map>
using namespace std;
int main() {
  // vector
  vector<int> vec = 4;
  cout << "vector size: " << vec.size() << endl;
  // list
  list<int> lst = 5;
  cout << "list size: " << lst.size() << endl;
  // deque
  deque<int> deq = 1;
  cout << "deque size: " << deq.size() << endl;
  // set
  set<int> s = 2;
  cout << "set size: " << s.size() << endl;
  // map
  map<int, string> m = { "one", 2, 3};
  cout << "map size: " << m.size() << endl;
  return 0;
}

在上述代码中,我们使用了多个STL容器,包括vector、list、deque、set和map。对于每种容器,我们都可以用size()函数来获取它的大小。

总结

无论是对于数组还是STL容器,在C++中使用size()函数都是非常方便的。对于数组来说,使用size()函数可以更方便地获取数组的大小,同时也可以避免sizeof运算符无法获取数组大小的问题。对于STL容器来说,size()函数可以用于获取容器元素的数量,可以帮助我们更好地了解容器的状态。因此,掌握size()函数的使用方法对于C++程序员来说非常重要。

  
  

评论区

请求出错了