public member function
<string>

std::basic_string::at

      reference at (size_type pos);const_reference at (size_type pos) const;
獲取字串的字元
返回對 basic_string 中位置 pos 處的字元的引用。

該函式自動檢查 pos 是否為字串中字元的有效位置(即,pos 是否小於字串長度),如果不是,則丟擲 out_of_range 異常。

引數

pos
字串中字元位置的值。
注意:basic_string 中的第一個字元由值表示0(不是1).
如果它不是字元的位置,則會丟擲 out_of_range 異常。
成員型別size_type是一種無符號整型型別。

返回值

字串中指定位置的字元。

如果 basic_string 物件是常量限定的,則該函式返回const_reference。否則,它返回一個引用.

成員型別引用const_reference是容器中字元的引用型別;它們應該是的別名charT&const charT&分別。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// string::at
#include <iostream>
#include <string>

int main ()
{
  std::string str ("Test string");
  for (unsigned i=0; i<str.length(); ++i)
  {
    std::cout << str.at(i);
  }
  return 0;
}

此程式碼使用以下方法逐個字元地打印出字串的內容at成員函式,逐個字元列印字串的內容
Test string


複雜度

未指定。

迭代器有效性

通常,沒有變化。
在某些實現中,非 const 版本可能會使物件構造或修改後首次訪問字串字元的所有迭代器、指標和引用都無效。

資料競爭

訪問該物件,並且在某些實現中,非 const 版本會在物件構造或修改後首次訪問字串字元時修改它。
返回的引用可用於訪問或修改字元。

複雜度

常量。

迭代器有效性

沒有變化。

資料競爭

訪問該物件(const 版本和非 const 版本都不會修改它)。
返回的引用可用於訪問或修改字元。併發訪問或修改不同的字元是安全的。

異常安全

強保證: 如果丟擲異常,則 basic_string 中沒有任何更改。

如果 pos 不小於字串長度,則會丟擲 out_of_range 異常。

另見