Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::chrono::duration<Rep,Period>::operator=

      From cppreference.com
      <cpp‎ |chrono‎ |duration
       
       
      Date and time library
       
      std::chrono::duration
       
      duration& operator=(const duration&other)=default;
      (since C++11)

      Assigns the contents of oneduration to another.

      [edit]Parameters

      other -duration to copy from

      [edit]Example

      Run this code
      #include <chrono>#include <iostream> int main(){usingnamespace std::chrono_literals; std::chrono::hours z_hours{};std::chrono::seconds z_seconds{};     z_hours= 2h;// ok, no conversion needed     z_seconds= z_hours;// First, the converting ctor is used to create a temporary object of `lhs`s type.// This ctor implicitly invokes the casting function// chrono::duration_cast<std::seconds>(z_hours). The resulting `rhs` rvalue// has the same type as `lhs`, and the `operator=` finally performs the assignment. std::cout<<"hours: "<< z_hours.count()<<'\n';std::cout<<"seconds: "<< z_seconds.count()<<'\n';     z_seconds-= 42s; //  z_hours = z_seconds; // compile-time error (which is good): incompatible types.// The library avoids the implicit cast to prevent a potential precision loss.     z_hours=std::chrono::duration_cast<std::chrono::hours>(z_seconds);// ok    z_hours=std::chrono::duration_cast<decltype(z_hours)>(z_seconds);// ditto std::cout<<"hours: "<< z_hours.count()<<'\n';std::cout<<"seconds: "<< z_seconds.count()<<'\n'; std::chrono::duration<double,std::ratio<3600>> z2_hours{};     z2_hours= z_seconds;// ok, no truncation, implicit cast std::cout<<"hours: "<< z2_hours.count()<<'\n';}

      Output:

      hours: 2seconds: 7200hours: 1seconds: 7158hours: 1.98833

      [edit]See also

      constructs new duration
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/duration/operator%3D&oldid=157078"

      [8]ページ先頭

      ©2009-2025 Movatter.jp