我string::at在学校接受教育,但是通过探索我看到的字符串库string::operator[],我之前从未展示过.
我现在正在使用operator[]并且从未使用at过,但有什么区别?以下是一些示例代码:
std::string foo = "my redundant string has some text";
std::cout << foo[5];
std::cout << foo.at(5);
Run Code Online (Sandbox Code Playgroud)
它们在输出方面基本相同,但是有一些我不知道的细微差别吗?
Kar*_*k T 12
at 进行边界检查,std::out_of_range无效访问时会抛出类型异常.
operator[] 不检查边界,因此如果您尝试访问超出字符串的边界可能会很危险.它比它快一点at.
| 归档时间: |
|
| 查看次数: |
4156 次 |
| 最近记录: |