Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

map::at

公众成员函数  <map>
      mapped_type& at (const key_type& k);
const mapped_type& at (const key_type& k) const;

访问元素

返回对键为k的元素映射值的引用。

如果k不匹配容器中任何元素的键,则函数抛出out_of_range异常。

☲  参数


K
访问其映射值的元素的键值。
成员类型key_type是存储在容器中的元素的键类型,在map中定义为其第一个模板参数(Key)的别名。

☉  返回值



对键值等于k的元素映射值的引用。
如果map对象是const限定的,则该函数返回对const mapped_type的引用。否则,它返回对mapped_type的引用。
成员类型mapped_type是容器中映射值的类型,在map中定义为它的第二个模板参数(T)的别名。

☣  示例



// map::at
#include <iostream>
#include <string>
#include <map>

int main ()
{
  std::map<std::string,int> mymap = {
                { "alpha", 0 },
                { "beta", 0 },
                { "gamma", 0 } };

  mymap.at("alpha") = 10;
  mymap.at("beta") = 20;
  mymap.at("gamma") = 30;

  for (auto& x: mymap) {
    std::cout << x.first << ": " << x.second << '\n';
  }

  return 0;
}

输出:
alpha: 10
beta: 20
gamma: 30

✥ 复杂度



容器大小:对数。

☣ 迭代器的有效性



不变

⇄ 数据竞争


访问容器(const和非const版本都不会修改容器)。
调用者可以修改被访问的映射值。并发地访问或修改其他元素是安全的。

☂ 异常安全性



强保证:如果抛出异常,容器中没有变化。
如果k不是map中某个元素的键,则抛出out_of_range。

🍄  另请参阅



map::find 获取元素迭代器(公众成员函数)
map::operator[] 访问容器(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图