chrono是乙個時間庫,提供有時間段,時間點,系統時鐘相關功能。
標頭檔案:
#include
裡面主要三個概念,duration、time_point、clock。
duration表示一段時間。
常見的duration有:(相當於數字和單位)
chrono::hours(1) //1小時
chrono::minutes(60) //60分鐘
chrono::seconds(3600) //3600秒
chrono::milliseconds(3600000) //3600000毫秒
chrono::microseconds(3600000000) //3600000000微秒
chrono::nanoseconds(3600000000000) //3600000000000納秒
//一小時的表示方法,相當於數字和單位。
auto hour = chrono::hours(1);
auto minute = chrono::minutes(60);
auto second = chrono::seconds(3600);
//輸出數字
cout
<< second.count() << endl; //3600
//單位轉換,將時間單位轉換為秒數。模板引數為單位,函式引數為原數值,函式返回值為新單位數值。如:1小時=3600秒
auto second2 = chrono::duration_cast(hour);
cout
<< second2.count() << endl; //3600
time_point表示乙個具體的時間點。
//當前時間
auto tp1 = chrono::system_clock
::now();
//轉換為絕對秒數
cout << chrono::system_clock
::to_time_t(tp1) << endl;
//獲取絕對時間,這裡的單位不是秒數,需要做單位轉換
auto duration1 = tp1.time_since_epoch();
cout << tp1.time_since_epoch().count() << endl;
//轉換為絕對秒數
cout << chrono::duration_cast
>(duration1).count() << endl;
//單位轉換,轉換為小時
auto tp2 = chrono::time_point_cast
>(tp1);
cout << tp2.time_since_epoch().count() << endl;
chrono::system_clock 表示當前系統時鐘。
chrono::steady_clock 表示穩定的時間間隔,修改系統時間不影響其計時。
chrono::high_resolution_clock 暫時不使用。
操作有:
now() 當前時間time_point
to_time_t() time_point轉換為time_t秒
from_time_t() 從time_t轉換為time_point秒。
//計算時差
auto start = chrono::steady_clock::now();
//...
auto end = chrono::steady_clock::now();
cout << chrono::duration_cast(end - start).count() << endl;
參考: 學習筆記1 1
1.virtual修飾符會被 繼承的。private 也被整合,只事派生類沒有訪問許可權而已。virtual可加可不加。子類的空間裡有父類的所有變數 static除外 同乙個函式只存在乙個實體 inline除外 子類覆蓋它的函式不加virtual 也能實現多型。在子類的空間裡,有父類的私有變數。私有...
學習筆記 11
tcp ip 是網際網路的基礎。tcp代表傳輸控制協議。ip代表網際網路協議。目前有兩個版本的ip,即ipv4和ipv6。ipv4使用32位位址,ipv6則使用128位位址。本節圍繞ipv4進行討論,它仍然是目前使用最多的ip版本。tcp ip的組織結構分為幾個層級,通常稱為tcp ip堆疊。主機是...
學習筆記11
raid 10 raid1 raid0技術的組合體 raid10需要至少4塊硬碟來組建,其中先分別兩兩製作成raid1磁碟陣列,以保證資料的安全性 然後再對兩個raid1磁碟陣列實施raid0技術,進一步提高硬碟裝置的讀寫速度。1.讀寫速度 2.資料不易丟失 lvm邏輯卷管理器 lvm允許使用者對硬...