size_t строго предназначены для хранения размеров и длин, которые явно не могут быть отрицательными.Это не подписано в природе и зависит от реализации.ваш код принудительно устанавливает отрицательное значение для типа size_t, и, следовательно, вы видите это странное число.
Если вы все сделали правильно, результат должен быть приведен к типу данных, который может принимать отрицательное значение.
Запустите следующий понятный код: (Это должно дать вам тот же результат)
#include <iostream>
int main()
{
std::size_t size = -1;
std::cout << size;
}