STL容器之string存取字符串 []和at访问区别

存取字符串

  • char& operator[](int n);//通过[]方式取字符
  • char& at(int n);//通过at方法获取字符
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
#include <string>

/*
存取字符串
char& operator[](int n);//通过[]方式取字符
char& at(int n);//通过at方法获取字符

*/
void test01()
{
    string s = "hello world";
    for (int i = 0; i < s.size(); i++)
    {
        //cout << s[i] << endl;   //char& operator[](int n);
        cout << s.at(i) << endl;//char& at(int n)
    }
}

int main()
{
    test01();
    system("Pause");
    return 0;
}

结果:

STL容器之string存取字符串 []和at访问区别

访问结果一样,但是还是有区别

[]和at区别

  • []访问越界,直接挂掉
  • at会抛出异常

STL容器之string存取字符串 []和at访问区别

结果:

STL容器之string存取字符串 []和at访问区别

 

而at访问

STL容器之string存取字符串 []和at访问区别

 

结果:

STL容器之string存取字符串 []和at访问区别

 

STL容器之string存取字符串 []和at访问区别

上一篇:一篇文章带你读懂Python的模块


下一篇:Microsoft Project XCloud 分析