C++20ライブラリ機能 読書会vol.25
https://scrapbox.io/files/655e07307255b8001c015b72.png
開催日時
2024年5月8日(水) 21:00~22:30
開催URL
参加人数
7人
ウォーミングアップ
13. <chrono>
13.1 新しい時計型
実はC++11からあったよシリーズの chrono
うるう秒廃止されるよね
せっかくTAIやUTCでうるう秒を考慮したのに・・・
廃止したりするんだろうか
でも時間が巻き戻ると問題が出てくる業界(金融とか)がありそう
あんまりつかったことないので使ったことある人~
UTCを使ってログの時刻を出した
巻き戻らないことが保証されているsteady_clockを使った方が正確かも
他のclockだとPCの時刻を巻き戻したりすると影響を受けうる
なんでchronoという単語なんだろう?
std::chronoは、C++11で導入された時間関連のユーティリティを提供する標準ライブラリです。chronoという名前は、"chronology"(年表、年代記)という英単語の略語に由来しています。
"chronology"は、ギリシャ語の"chronos"(時間)と"logos"(学問、論理)を組み合わせた言葉で、時間の順序や関係を扱う学問分野を指します。
std::chronoは、時間の表現や測定、時間間隔の計算など、時間に関連するさまざまな機能を提供します。具体的には、以下のような機能があります。
duration:時間間隔を表現するためのクラステンプレート
time_point:時間軸上の一点を表現するためのクラステンプレート
clocks:現在時刻を取得するためのクロックを提供するクラス
これらの機能を使って、時間の計測や比較、時刻の計算などを行うことができます。
std::chronoという名前は、このライブラリが時間に関連する機能を提供することを明確に示しています。また、"chronology"という単語が示すように、std::chronoは時間の順序や関係を適切に扱うための型と操作を提供しています。
13.1.1 時計型間の時刻の変換
::from_xxx()や::to_xxx()を使ってそれぞれ異なる型への変換が可能
clock_cast<C>()を使うことで統一的に変換が可能
File Tiem -> File Time #typo Cスタイルのtime_tはclock_cast()で変換することはできない
一度sys_timeにする必要がある
13.1.2 time_point/duration の出力サポート
ユーザー定義リテラルの話
ユーザーが定義できるユーザー定義リテラルは_始まり
だけれどグローバルに_始まりは定義できないので名前空間内に作ってそれをusing namespaceしている
予約済み識別子
ユーザ定義リテラルうまい使い方が思い浮かばない
使わなくていいんじゃないでしょうか
知らない人だと初見なにこれってなってどうググればいいかもわからない
13.1.3 うるう秒の処理
次回ここから
お悩み雑談室
今月末の技術書典気になる本とかあります?
過去の技術書典の雑談
具体的な新しい本に関してはあんまり