Computer >> Máy Tính >  >> Lập trình >> C ++

Đặt hàm max_size () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về set ::max_size () trong C ++ STL, cú pháp, cách làm việc và giá trị trả về của chúng.

Đặt trong C ++ STL là gì?

Các bộ trong C ++ STL là các bộ chứa phải có các phần tử duy nhất theo thứ tự chung. Tập hợp phải có các phần tử duy nhất vì giá trị của phần tử xác định phần tử. Sau khi đã thêm một giá trị trong vùng chứa đã đặt thì không thể sửa đổi được, mặc dù chúng tôi vẫn có thể xóa hoặc thêm các giá trị vào tập hợp. Các tập hợp được sử dụng làm cây tìm kiếm nhị phân.

Set ::max_size () là gì?

max_size () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề . max_size () trả về kích thước tối đa của vùng chứa đã đặt được liên kết với nó. Nói cách khác, nó trả về kích thước tối đa mà một vùng chứa có thể đạt được, tuy nhiên không có gì đảm bảo rằng nó có thể phân bổ các phần tử của kích thước đó, nó vẫn có thể không phân bổ bộ nhớ cho một điểm cụ thể của một vùng chứa đã đặt.

Cú pháp

name_of_set.max_size();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả về

Hàm này trả về kích thước tối đa của vùng chứa đã đặt được liên kết.

Ví dụ

Input: set<int> myset;
myset.max_size();
Output: size of a set before inserting elements: 461168601842738790

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> data_1, data_2;
   data_1.insert(100);
   cout<<"size of a set after inserting values : "<<data_1.max_size()<< endl;
   cout<<"size of a set before inserting values : "<<data_2.max_size();
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

size of a set after inserting values : 461168601842738790
size of a set before inserting values : 461168601842738790

Ví dụ

#include <iostream>
#include <set>
int main (){
   int i;
   std::set<int> Set;
   if(Set.max_size()>1000){
      for (i=0; i<=1000; i++)
         Set.insert(i);
      std::cout<<"There are 1000 elements in a set.\n";
   }
   else
      std::cout<<"There can't be 1000 elements in a set.\n";
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

There are 1000 elements in a set.