Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::to_array

      From cppreference.com
      <cpp‎ |experimental
       
       
       
       
      Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 7/2019, seestd::to_array(since C++20)
      Defined in header<experimental/array>
      template<class T,std::size_t N>
      constexprstd::array<std::remove_cv_t<T>, N> to_array(T(&a)[N]);
      (library fundamentals TS v2)

      Creates astd::array from the built-in arraya. The elements of thestd::array are copy-initialized from the corresponding element ofa.

      Contents

      [edit]Parameters

      a - the built-in array to be used to initialize thestd::array

      [edit]Return value

      Anstd::array object whose elements are copy-initialized from the corresponding element ofa.

      [edit]Possible implementation

      namespace detail{template<class T,std::size_t N,std::size_t...I>constexprstd::array<std::remove_cv_t<T>, N>        to_array_impl(T(&a)[N],std::index_sequence<I...>){return{{a[I]...}};}} template<class T,std::size_t N>constexprstd::array<std::remove_cv_t<T>, N> to_array(T(&a)[N]){return detail::to_array_impl(a,std::make_index_sequence<N>{});}

      [edit]Example

      Run this code
      #include <cassert>#include <cstdlib>#include <experimental/array>#include <unistd.h> // mkstemp(3) that workstemplate<std::size_t N>int tempfd(charconst(&tmpl)[N]){auto s= std::experimental::to_array(tmpl);int fd= mkstemp(s.data());if(fd!=-1)        unlink(s.data()); return fd;} int main(){int fd= tempfd("/tmp/test.XXXXXX");int rt= close(fd);assert(rt==0);}

      [edit]See also

      (library fundamentals TS v2)
      creates astd::array object whose size and optionally element type are deduced from the arguments
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/to_array&oldid=156340"

      [8]ページ先頭

      ©2009-2025 Movatter.jp