strlen() 的替代方案是什么?

cho*_*eem -5 c++ string

我发现人们建议不要使用strlen(),理由是它的时间复杂度不是O(1)。比我应该在字符数组中使用什么来知道良好时间复杂度的大小,除了

     s[i]!='\0' 
Run Code Online (Sandbox Code Playgroud)

Tom*_*ech 5

如果您要使用 C 风格的数组char,那么我认为除了循环直到到达末尾之外,没有任何方法可以计算出长度。您可以自己执行此操作或致电strlen

但是,由于您已使用标记了您的问题,因此您应该使用 astd::string来代替,然后您可以使用length( 或等效的size) 方法来代替。