多年来,我一直stringname[0]
在string
不考虑它的情况下获得a的第一个字符。但是,我最近开始怀疑是否蛮力访问数组是否真的是一个好习惯。这似乎是一个琐碎的问题,但这不是因为它看起来与STL容器的内存/访问管理紧密相关。
我可以想到stringname.at(0)
(不是很令人信服),但是使用迭代器可能会有更好的选择。最重要的是,如果字符串为空,理想方法将不会导致错误。
有没有被广泛接受的良好做法?
如果s
为空字符串,则s[0]
返回'\0'
而s.at(0)
throws std::out_of_range
。
在这种差异的行为比任何性能上的差异更为显著。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句