Почему QVector :: size возвращает int?

std::vector::size() возвращаетsize_type который без знака и обычно такой же, какsize_tнапример, это 8 байт на 64-битных платформах.

В противоположность,QVector::size() возвращаетint который обычно составляет 4 байта даже на 64-битных платформах, и при этом он подписан, что означает, что он может идти только наполовину до 2 ^ 32.

Это почему? Это кажется довольно нелогичным, а также технически ограничивающим, и, хотя маловероятно, что вам когда-либо понадобится более 2 ^ 32 элементов, использование сокращенных целых чисел int, которые варьируются в два раза без видимой веской причины. Возможно, чтобы избежать предупреждений компилятора для людей, ленивых объявитьi какuint а неint кто решил, что заставить все контейнеры возвращать тип размера, который не имеет смысла, является лучшим решением? Причина не могла быть такой глупой?

Ответы на вопрос(2)

Ваш ответ на вопрос