Espacios de nombres
Variantes

std::chrono::duration::operator=

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
 
 
duration& operator=( const duration &other ) = default;
(desde C++11)

Asigna el contenido de un objeto std::duration a otro.

Parámetros

other - Objeto duration del que copiar.

Ejemplo

#include <iostream>
#include <chrono>

int main()
{
    using namespace std::chrono_literals;

    std::chrono::hours z_hours{};
    std::chrono::seconds z_seconds{};

    z_hours = 2h; // de acuerdo, no se necesita conversión

    z_seconds = z_hours;
      // Primero, el ctor de conversión se usa para crear un objeto temporal del tipo
      // de `lhs`. Este ctor implícitamente invoca la función de conversión
      // chrono::duration_cast<std::seconds>(z_hours). El valor `rhs` resultante
      // tiene el mismo tipo que `lhs`, y finalmente `operator=` ejecuta la asignación.

    std::cout << "horas: " << z_hours.count() << '\n';
    std::cout << "segundos: " << z_seconds.count() << '\n';

    z_seconds -= 42s;

//  z_hours = z_seconds; // ERROR en tiempo de compilación (que es bueno):
                         // tipos incompatibles.
    // La biblioteca evita la conversión implícita para evitar una posible pérdida de precisión.

    z_hours = std::chrono::duration_cast<std::chrono::hours>(z_seconds); // de acuerdo
    z_hours = std::chrono::duration_cast<decltype(z_hours)>(z_seconds); // ditto

    std::cout << "horas: " << z_hours.count() << '\n';
    std::cout << "segundos: " << z_seconds.count() << '\n';

    std::chrono::duration<double, std::ratio<3600>> z2_hours{};

    z2_hours = z_seconds; // de acuerdo, no hay truncamiento, conversión implícita

    std::cout << "horas: " << z2_hours.count() << '\n';
}

Salida:

horas: 2
segundos: 7200
horas: 1
segundos: 7158
horas: 1.98833

Véase también

Construye una nueva duración.
(función miembro pública) [editar]