logo

כרונו ב-C++

היא כותרת C++ המספקת אוסף של סוגים ופונקציות לעבודה עם הזמן. זה חלק מספריית התבניות הסטנדרטית של C++ (STL) והוא כלול ב-C++11 ואילך.

מספק שלושה סוגים עיקריים של שעונים: system_clock steady_clock ו-high_resolution_clock. שעונים אלו משמשים למדידת זמן בדרכים שונות.

system_clock מייצג את שעון הקיר בזמן אמת בכל המערכת. זה מושפע מהתאמות הזמן של המערכת.
steady_clock מייצג שעון שהולך וגדל באופן מונוטוני שאינו מושפע משינויים בזמן המערכת.
high_resolution_clock הוא השעון עם תקופת התקתק הקצרה ביותר הזמינה במערכת.



הורד את נגן המדיה של YouTube vlc

מספק גם אוסף של סוגי משך זמן כולל משךשניתן להשתמש בהם כדי לייצג משך זמן. Rep הוא סוג הייצוג (כגון int או long) ו- Period הוא היחס בין משך הזמן (כגון ננו-שניות או שניות).
בְּנוֹסַףמספק אוסף של סוגי נקודות זמן כולל time_pointשניתן להשתמש בהם כדי לייצג נקודת זמן. שעון הוא סוג השעון (כגון system_clock) ו-Duration הוא סוג משך הזמן (כגון שניות)

ספריית Chrono משמשת להתמודדות עם תאריך ושעה. ספרייה זו תוכננה להתמודד עם העובדה שטיימרים ושעונים עשויים להיות שונים במערכות שונות ובכך להשתפר עם הזמן מבחינת דיוק. הדבר הייחודי בכרונו הוא שהוא מספק א מושג דיוק ניטרלי על ידי הפרדת משך ונקודת זמן (נקודת זמן) משעונים ספציפיים. chrono הוא שם של כותרת וגם של מרחב משנה: כל האלמנטים בכותרת זו (למעט ההתמחויות common_type) אינם מוגדרים ישירות תחת מרחב השמות std (כמו רוב הספרייה הרגילה) אלא תחת std::chrono מרחב שמות . האלמנטים בכותרת זו עוסקים בזמן. זה נעשה בעיקר באמצעות שלושה מושגים:

מֶשֶׁך

אובייקט משך מבטא טווח זמן באמצעות ספירה כמו דקה שעתיים או עשר מילישניות. לדוגמה, '42 שניות' יכול להיות מיוצג על ידי משך זמן המורכב מ-42 תקתוקים של יחידת זמן של שנייה אחת. 

CPP
// C++ program to illustrate the utility  // function duration::count #include     #include   int main () {  using namespace std::chrono;  // std::chrono::milliseconds is an   // instantiation of std::chrono::duration:- 1 second  milliseconds mil(1000);     mil = mil*60;    std::cout << "duration (in periods): ";  std::cout << mil.count() << " milliseconds.n";    std::cout << "duration (in seconds): ";  std::cout << (mil.count() * milliseconds::period::num /   milliseconds::period::den);  std::cout << " seconds.n";  return 0; } 

תְפוּקָה:

ההבדל בין גיגה-בייט למגה-בייט
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.

שָׁעוֹן

שעון מורכב מנקודת התחלה (או עידן) ומקצב תקתוק. לדוגמה, לשעון עשוי להיות עידן של 22 בפברואר 1996 ולתקתק כל שנייה. C++ מגדיר שלושה סוגי שעונים:

    מערכת_שעון-זו השעה הנוכחית לפי המערכת (שעון רגיל אותו אנו רואים בסרגל הכלים של המחשב). זה כתוב כ- std::chrono::system_clockשעון_יציבזה שעון מונוטוני שלעולם לא יתכוונן. הוא הולך בקצב אחיד. זה כתוב כ- std::chrono::steady_clockשעון_רזולוציה גבוהה- הוא מספק את תקופת התקתק הקטנה ביותר האפשרית. זה כתוב כ-std::chrono::high_resolution_clock

נקודת זמן

אובייקט time_point מבטא נקודת זמן ביחס לעידן של שעון. באופן פנימי האובייקט מאחסן אובייקט מסוג משך ומשתמש בסוג השעון כהתייחסות לתקופה שלו.  

CPP
// C++ program to illustrate time point // and system clock functions #include    #include  #include  // Function to calculate // Fibonacci series long fibonacci(unsigned n) {  if (n < 2) return n;  return fibonacci(n-1) + fibonacci(n-2); } int main() {  // Using time point and system_clock  std::chrono::time_point<std::chrono::system_clock> start end;  start = std::chrono::system_clock::now();  std::cout << "f(42) = " << fibonacci(42) << 'n';  end = std::chrono::system_clock::now();  std::chrono::duration<double> elapsed_seconds = end - start;  std::time_t end_time = std::chrono::system_clock::to_time_t(end);  std::cout << "finished computation at " << std::ctime(&end_time)  << "elapsed time: " << elapsed_seconds.count() << "sn"; } 

תְפוּקָה:

f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s

חשוב לציין שהדיוק והדיוק של השעונים ומשכי הזמן הניתנים על ידיעשוי להשתנות בהתאם למערכת ולפלטפורמה ותמיד מומלץ לבדוק את התיעוד של הפלטפורמה שלך לקבלת מידע נוסף.

מחסנית ב-java

צור חידון