ฟังก์ชัน 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()- ปรับขนาด