栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STL string迭代器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STL string迭代器

#include
using namespace std;
void FunIterator()//迭代器会与算法链接。适用于所有容器。
{
    string str("abcdefg");
    string::iterator ite;//string::iterator类型的迭代器ite。相当于一个指向string对象元素的一个指针,本质相当于一个char*(根据容器里面的元素或数据类型确定)的指针。
    //char* a = str.c_str();//指向字符串的首地址。
    ite = str.begin();// 返回一个迭代器,指向第一个字符。
    

    //for (size_t i = 0; i < str.size(); i++)
    //{
    //    cout << ite[i] << " ";
    //    //ite++;
    //}
    
    //for (ite; ite!= str.end(); ite++)//函数end()返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置)
    //{
    //    //*ite = 'a';//修改元素值。
    //
    //    cout << *ite << " ";
    //    
    //}
    str.append(18, 'a');//string重新申请空间的时候,迭代器会失效。如果是链表结构则不会,因为链表尾加一块空间时,空间首地址不变。而普通的数组末尾加一块空间则总空间的首地址会改变,就需要重新申请空间首地址。
    //ite = str.begin();重新返回一个迭代器,指向新的字符串第一个字符。
    ite[2] = 'h';//修改元素值。
    cout << str<< endl;

}
int main()
{
    FunIterator();
    system("pause");
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号