Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::array<T,N>::at

      From cppreference.com
      <cpp‎ |container‎ |array

      [edit template]
       
       
       
       
      reference at( size_type pos);
      (1)(since C++11)
      (constexpr since C++17)
      const_reference at( size_type pos)const;
      (2)(since C++11)
      (constexpr since C++14)

      Returns a reference to the element at specified locationpos, with bounds checking.

      Ifpos is not within the range of the container, an exception of typestd::out_of_range is thrown.

      Contents

      [edit]Parameters

      pos - position of the element to return

      [edit]Return value

      Reference to the requested element.

      [edit]Exceptions

      std::out_of_range ifpos>= size().

      [edit]Complexity

      Constant.

      [edit]Example

      Run this code
      #include <chrono>#include <cstddef>#include <iostream>#include <array>#include <stdexcept> int main(){std::array<int,6> data{1,2,4,5,5,6}; // Set element 1    data.at(1)=88; // Read element 2std::cout<<"Element at index 2 has value "<< data.at(2)<<'\n'; std::cout<<"data size = "<< data.size()<<'\n'; try{// Try to set an element at random position >= size()auto moon_phase=[]{returnstd::chrono::system_clock::now().time_since_epoch().count()%8;};        data.at(data.size()+ moon_phase())=13;}catch(conststd::out_of_range& ex){std::cout<< ex.what()<<'\n';} // Print final valuesstd::cout<<"data:";for(int elem: data)std::cout<<' '<< elem;std::cout<<'\n';}

      Possible output:

      Element at index 2 has value 4data size = 6array::at: __n (which is 8) >= _Nm (which is 6)data: 1 88 4 5 5 6

      [edit]See also

      access specified element
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/array/at&oldid=122662"

      [8]ページ先頭

      ©2009-2025 Movatter.jp