获取网站访客qq号码,大专计算机专业主要学什么,深圳网站建设定制开发 .超凡科技,做网站好找工作吗我们接着上一篇的迭代器说起#xff0c;迭代器不只有正向的#xff0c;还有反向的#xff0c;就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾#xff0c;rend就是开头#xff0c;这样我们想遍历一个string对象的话就可以这样做
int main() {string s1(…我们接着上一篇的迭代器说起迭代器不只有正向的还有反向的就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾rend就是开头这样我们想遍历一个string对象的话就可以这样做
int main() {string s1(abcdefghijk);string::reverse_iterator it s1.rbegin();while (it ! s1.rend()) {cout *it ;it;}cout endl;return 0;
}当然如果我们遇到const对象就要用const版本的迭代器 一个类型竟然有这么长这就让我们想起来之前学的auto关键字它可以自动去匹配类型 它们是等价的确实可以方便不少但同时也带来了问题就是我不能通过这一条语句知道这个迭代器是const版本的我还要去看前边的语句才可以 这时库中确实还有其他版本的迭代器 前边加个c确实就表明这个迭代器是const版本的了但我们用到确实也是比较少我们只需要知道就可以了 下一个是我们string中的capacity 这里的capacity就是给我们的对象分配了多大的空间分配了这么多空间只要没用完就不需要扩容下面我们看一下VS2019和g的扩容机制 我们可以看到这整体上是1.5倍扩容 在g下是2倍扩容 下一个是reserve reserve是保留的意思就是保留多少空间的意思这个有较大作用的地方就是知道要用多少空间然后提前开好就可以省去扩容时间 下一个是resize 这个一听就是改变size如果让size变大的话后边会补上’\0’如果让size变小的话它是会影响到数据的 访问数据不仅可以用下标加方括号也可以用at 它们越界都会报错但是报错的方式是不一样的 一个是程序强制终止一个是抛异常 我们想给一个对象中增加内容可以用下面这几种方式 当然最方便的还是 我们如果想在键盘中读入带空格的一行可以用下面的方法