std::chrono::duration

Üdvözlöm, Ön a std::chrono::duration szó jelentését keresi. A DICTIOUS-ban nem csak a std::chrono::duration szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a std::chrono::duration szót egyes és többes számban mondani. Minden, amit a std::chrono::duration szóról tudni kell, itt található. A std::chrono::duration szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. Astd::chrono::duration és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

Főnév

std::chrono::duration (tsz. std::chrono::durations)

  1. (informatika) A std::chrono::duration a C++ chrono könyvtárának egy időtartamot reprezentáló sablonosztálya. A C++11-től érhető el, és típusbiztos módon kezeli az időintervallumokat (például másodperc, milliszekundum, stb.).



🧱 Alapszintaxis

std::chrono::duration<Rep, Period>
  • Rep: Az alap típus (pl. int, long, double) – ez tárolja a számot.
  • Period: A periódus, azaz az időegység – pl. std::ratio<1> (másodperc), std::milli (ezredmásodperc).



✅ Példa – Másodpercek

#include <iostream>
#include <chrono>

int main() {
    std::chrono::duration<int> egy_masodperc(1);
    std::cout << "Időtartam: " << egy_masodperc.count() << " másodperc\n";
}

✅ Példa – Milliszekundumok

#include <chrono>
#include <iostream>

int main() {
    std::chrono::duration<int, std::milli> ezred(1000);
    std::cout << "Időtartam: " << ezred.count() << " milliszekundum\n";
}

🕒 Gyakori típusok (alias-ok)

using namespace std::chrono;

seconds        // másodperc – duration<int64_t, ratio<1>>
milliseconds   // ezredmásodperc – duration<int64_t, milli>
microseconds   // mikroszekundum – duration<int64_t, micro>
nanoseconds    // nanoszekundum – duration<int64_t, nano>
minutes        // perc – duration<int64_t, ratio<60>>
hours          // óra – duration<int64_t, ratio<3600>>

➕ Időtartam-műveletek

using namespace std::chrono;

seconds s1(5);
seconds s2(3);
auto osszeg = s1 + s2; // 8 másodperc

std::cout << osszeg.count(); // Kimenet: 8

🔄 Időtartam-konverzió

using namespace std::chrono;

seconds s(2);
milliseconds ms = std::chrono::duration_cast<milliseconds>(s); // 2000 ms

A duration_cast szükséges az eltérő egységek közti átváltáshoz (például másodperc → milliszekundum).


🧠 Összegzés

Fogalom Jelentés
duration Időtartamot reprezentáló osztály
count() Visszaadja a tárolt számértéket
duration_cast Átváltás egyik időtartam-típusból a másikba
std::milli Ezredmásodperces időalap (1/1000)
std::chrono::* A chrono névtér típusai és segédfüggvényei