外贸接单网站排名榜,前端开发常用框架,安阳知名网络公司首选,微信小程序网站建设公司string类的重要接口说明(1)#xff1a;reserve()#xff0c;resize()
一、reserve() 和 resize() 注意不要把 reserve(储备) 和 reverse(逆向) 搞混了#xff01; 1.1
reserve()#xff1a;用于为字符串预留空间#xff08;扩容#xff09;#xff0c;以便后续操作可以…string类的重要接口说明(1)reserve()resize()
一、reserve() 和 resize() 注意不要把 reserve(储备) 和 reverse(逆向) 搞混了 1.1
reserve()用于为字符串预留空间扩容以便后续操作可以直接在预留位置存放元素。
PS
reserve(size_t n) 为string预留空间不改变有效元素个数当 reserve 的参数小于底层空间总大小时reserve 不会改变容量大小。
resize()用于调整字符串大小包括增大和缩小字符串的大小。 resize(size_t n) 和 resize(size_t n, char c) 都是将有效字符个数改变到 n 个。不同的是当有效字符个数增大时前者会用 ‘\0’ 进行填充后者用字符 c 进行填充。 1.2 resize(n) 对 string::size、string::capacity 的影响 n capacity —— 扩容尾插 size n capacity —— 尾插 n size —— 删除数据只保留前 n 个
PS
resize() 在改变元素个数时如果是将元素个数增加可能会改变 capacity 的大小—— n capacity、size n capacity 这两种情况如果是将元素个数减少则不改变 capacity 的大小—— n size 的情况。