Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::hash<std::experimental::optional>

      From cppreference.com
      <cpp‎ |experimental‎ |optional
       
       
       
       
       
      Defined in header<experimental/optional>
      template<class T>
      struct hash<std::experimental::optional<T>>;
      (library fundamentals TS)

      The template specialization ofstd::hash for thestd::experimental::optional class allows users to obtain hashes of the values contained inoptional objects.

      [edit]Template parameters

      T - the type of the value contained inoptional object. The specializationstd::hash<T> must meet the requirements of class templatehash.

      [edit]Example

      Run this code
      #include <experimental/optional>#include <iostream>#include <string>#include <unordered_set>usingnamespace std::literals; int main(){// hash<optional> makes it possible to use unordered_setstd::unordered_set<std::experimental::optional<std::string>> s={"abc"s,std::experimental::nullopt,"def"s}; for(constauto& o: s)std::cout<< o.value_or("(null)")<<' ';std::cout<<'\n';}

      Possible output:

      def abc (null)

      [edit]See also

      (C++11)
      hash function object
      (class template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/optional/hash&oldid=155033"

      [8]ページ先頭

      ©2009-2025 Movatter.jp