ที่นี่เราจะมาดูกันว่า size_t และ int แตกต่างกันอย่างไรใน C++ หากเราพิจารณามาตรฐาน ทั้งคู่เป็นจำนวนเต็มขนาด 16 บิต
บนระบบ 64 บิตทั่วไป size_t จะเป็น 64 บิต แต่ int ที่ไม่ได้ลงชื่อจะเป็น 32 บิต เราจึงใช้แทนกันไม่ได้
คำแนะนำมาตรฐานประการหนึ่งคือ size_t ใหญ่ที่สุดเท่ากับความยาวที่ไม่ได้ลงนาม ดังนั้น คุณอาจคิดว่าเราสามารถใช้ unsigned long แทน size_t ได้ แต่ unsigned long บนระบบ 64 บิต หาก OS ใน Windows จะเป็น 32 บิต แต่ size_t จะเป็น 64 บิต