length()
返回字符串中的字符数, size()
返回一个 size_t
这也是相同的,但用于使其与其他 STL 容器保持一致。
为了计算 length()
,字符串遍历所有字符并计算长度。所以, O(n)
时间。
size()
也一样吗?
或者变量的大小可以直接在 O(1)
time 中计算吗?
所以,我的问题是,它们在速度方面是相同的(就像它们的计算方式一样)还是在 O(1)
time 中计算的大小?
原文由 ronilp 发布,翻译遵循 CC BY-SA 4.0 许可协议
两者都具有相同的复杂性:恒定。
来自 N4431 工作草案,§21.4.4
和
那是您正在考虑的C字符串。