Библиотека Stringzilla String использует наибольшее 63-битное число в качестве NPO, почему?C++

Программы на C++. Форум разработчиков
Anonymous
Библиотека Stringzilla String использует наибольшее 63-битное число в качестве NPO, почему?

Сообщение Anonymous »

Я начал использовать эту библиотеку строк, которая утверждает, может быть заменой для Std :: String. Все функции представляют собой совпадения один на один со Std :: String, поэтому я использовал его в качестве замены. Но в то время как std :: string использует std :: string :: npos, который является наибольшим 64-разрядным номером, Stringzilla использует наибольшее 63-битное число. Поскольку значения отличаются, это сломало мой код, и мне потребовалось годы, чтобы выяснить. Почему бы просто не использовать то же значение NPOS? < /P>

Код: Выделить всё

#define SZ_SSIZE_MAX (0x7FFFFFFFFFFFFFFFull)

static constexpr size_type npos = SZ_SSIZE_MAX;
Могу ли я изменить его, чтобы соответствовать std :: string npos?

Подробнее здесь: https://stackoverflow.com/questions/796 ... s-npos-why

Вернуться в «C++»