Я начал использовать эту библиотеку строк, которая утверждает, может быть заменой для 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