Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน list::max_size() ใน C++ STL

ฟังก์ชัน list::max_size() ใน C++ STL

list::max_size() คืออะไร?

คืนขนาดสูงสุดทฤษฎีที่ list container อาจจะถึงได้ (ขึ้นกับ architecture และ allocator) ไม่รับประกันว่าจะจองหน่วยความจำได้จริง

Syntax

list_container.max_size()

พารามิเตอร์

ไม่มี

คืนค่า

size_type ขนาดสูงสุดที่เป็นไปได้

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;

int main() {
    list<int> myList;
    cout << "maximum size of a list is: " << myList.max_size();
    return 0;
}

Output: maximum size of a list is: 768614336404564650 (ค่าต่างไปตามระบบ 64-bit)

คำอธิบาย

  • ค่านี้คำนวณจาก allocator_traits<Allocator>::max_size(allocator)
  • ใน 64-bit system มักจะเป็น SIZE_MAX / sizeof(node)
  • เป็นขีดจำกัดทฤษฎี ไม่ใช่ขีดจำกัดจริงของหน่วยความจำ (อาจ fail ก่อนถึงค่านี้)
  • มีประโยชน์สำหรับตรวจสอบว่า container รองรับขนาดที่ต้องการหรือไม่

ฟังก์ชันที่เกี่ยวข้อง

  • size() - ขนาดปัจจุบัน
  • empty() - ว่างหรือไม่
  • resize() - ปรับขนาด