- string[meta header]
- std[meta namespace]
- basic_string[meta class]
- function[meta id-type]
const_reference at(size_type pos) const;
reference at(size_type pos);
pos
番目の要素への参照を取得する。
operator[]
(pos)
の結果。
pos >=
size()
の時、out_of_range
例外を投げる。
#include <iostream>
#include <string>
#include <stdexcept>
int main()
{
std::string s = "hello";
char& c = s.at(1);
std::cout << c << std::endl;
try {
s.at(5);
}
catch (std::out_of_range&) {
std::cout << "access error" << std::endl;
}
}
- at[color ff0000]
- std::out_of_range[link /reference/stdexcept.md]
e
access error
- LWG Issue 2207.
basic_string::at
should not have a Requires clause- C++11まで、この関数を呼び出す要件として「
pos < size()
」があったが、例外節があるため要件節は不要。C++14で要件節が削除された。
- C++11まで、この関数を呼び出す要件として「