size_t的值无效

adk*_*adk 8 c

人们用什么来表示size_t无效?-1不起作用,0可以是有效大小.

Mic*_*ker 10

也许((size_t)-1)吧?

严格来说,这一个有效的大小,但一旦你有这个,你不可能需要任何其他;-)


Kie*_*eli 5

如果您谈论的是 std::string,则 size_t 的无效值为 std::string::npos。通常您不应该使用 -1,因为 size_t 是无符号的,并且您可能会在编译器在类型之间进行隐式转换时获得失败的比较。

也就是说,std::strings 的 npos 设置为 0XFFFFFFFFFFFFFFFF... 这是 -1 的二进制等价物。它还计算无符号 size_t 字段的最大允许值。