2024-03-01から1ヶ月間の記事一覧

C++20 enumで日本語を使いたい | consteval関数でassertを使う

はじめに プログラミング言語C++ではenumが使えます。 しかしenumは日本語文字列が使えません。 enum class hoge { "青", "黄", "赤" }; // NG 日本語で書くにはどうするか。 ということで、以下のようにしてみました。 #include <algorithm> #include <array> #include <cassert> #incl</cassert></array></algorithm>…

C++20 CSV iteratorを実装する

はじめに これはCSV Parserを実装するわけではありません。 vincentlaucsb/csv-parserに乗っかって、iteratorを実装します。 国民的人気ブラウザゲーム艦隊これくしょん-艦これ-では、ユーザ有志による検証が非常に盛んに行われています。 その中でも、ダメ…

C++14以上 変数テンプレート

変数をテンプレートで書ける。 ありがちな使用例では、数値をそれぞれの型に、単純なキャストで変換するものが挙げられている。 template <class T> constexpr T pi = static_cast<T>(3.14159265358979323846); 単純なキャスト以外で変数テンプレートを使うにはどうすれ</t></class>…