C++20ライブラリ機能 読書会vol.28
https://scrapbox.io/files/655e07307255b8001c015b72.png
開催日時
2024年6月19日(水) 21:00~22:30
開催URL
参加人数
3人
ウォーミングアップ
富豪的プログラミングについて
とりあえずstatic const な変数をヘッダーに書くのはやめよう
プログラミングの方向性の違い
13.2 カレンダー
/は左結合なので、3 つ以上~
code: cpp
auto ymd = 2023/January/1; // ng
↑の書き方もダメなんだ
Mondayみたいな名前がライブラリで予約されてるの?
std::chrono名前空間以下に用意されてる
code: cpp
auto sea = July/weekday_indexed{Monday, 3}; // weekday_indexedのコンストラクタ
weekday_indexed型のコンストラクタというふうに見えなかった
このautoはどういう型なの?
上記の例だとmonth_weekday型
組み合わせによる型がいっぱい
C++のいつもの思想だとこのへんテンプレートで表していきそうなものだけど全然テンプレート感がない
こんなはまりそうな書き方にするくらいならy,dリテラルを必須にしておけばよかったのに
13.2.1 最後の日を表す定数
lastを使うと文脈に応じた最終日を表すことができる
またユーザー側と被りそうな命名を・・・
変数lastを宣言すると曖昧になりそう
code: cpp
auto ld2 = last/2;
auto ld3 = last/2;
2で割るように見えて仕方ない
これで2月の最終日を表すとは・・・
コメント必須
この機能そのうち改修されそう
ld2とld3は同じに見える
lastはあるけどfirstはない
いろいろと無秩序だな・・・
これ用意するとsecond用意しないと~みたいな議論があったのかもと予想
仕様はそうあるべきかもしれないけど使う側のことを考えてない
13.2.2 カレンダー型
次回ここから
お悩み雑談室