如果s[s.size()]=='\0'
,那么将其视为某些算法的标记是很方便的。我做了一个测试,它总是等于'\0'
,但有些书说访问s[s.size()]
是非法的。
答案 0 :(得分:9)
是的,这将提供对C ++ 11标准规定的零值字符的引用:
需要:
pos <= size()
。如果
*(begin() + pos)
,则返回pos < size()
,否则引用T
类型为charT()
的对象;参考值不得修改。
其中charT()
是一个值构造的字符,其值为零。 T
可能是charT
的拼写错误。 C ++ 14草案(可能是最终标准)说同样的事情,错字修正。
如果你有一本说不然的书,就把它烧掉或卖给你的敌人。