¿Por qué QVector :: size devuelve int?

std::vector::size() devuelve unsize_type que no está firmado y generalmente es lo mismo quesize_t, p.ej. Tiene 8 bytes en plataformas de 64 bits.

En contraste,QVector::size() devuelve unint que generalmente es de 4 bytes incluso en plataformas de 64 bits, y en ese momento está firmado, lo que significa que solo puede llegar a la mitad a 2 ^ 32.

¿Porqué es eso? Esto parece bastante ilógico y también técnicamente limitante, y aunque no es muy probable que alguna vez necesite más de 2 ^ 32 número de elementos, el uso de cortes int firmados que se extienden a la mitad sin razón aparente. Quizás para evitar advertencias del compilador para personas demasiado flojas para declarari como unuint en lugar de unint ¿Quién decidió que hacer que todos los contenedores devuelvan un tipo de tamaño que no tiene sentido es una mejor solución? ¿La razón no podría ser tan tonta?

Respuestas a la pregunta(2)

Su respuesta a la pregunta