std::chrono::duration
Megjelenés
Főnév
std::chrono::duration (tsz. std::chrono::durations)
- (informatika) A
std::chrono::durationa C++chronokö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_castszü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 |
- std::chrono::duration - Szótár.net (en-hu)
- std::chrono::duration - Sztaki (en-hu)
- std::chrono::duration - Merriam–Webster
- std::chrono::duration - Cambridge
- std::chrono::duration - WordNet
- std::chrono::duration - Яндекс (en-ru)
- std::chrono::duration - Google (en-hu)
- std::chrono::duration - Wikidata
- std::chrono::duration - Wikipédia (angol)