勉強と実用を兼ねてvulkan specificationの和訳を始めた。著作権の観点で勝手に公開するとなんか怖そうなので、とりあえず非公開で個人的にやる。
当分はcpprefjpを読み進めるのでデイリーの作業リソースが取られるし、Vulkan入門も未だ書き終わっていないので、とりあえず気が向いたときに少しづつという形で進める。
何で書くか考えてmdbookというものを触ってみたのだが、割と良い。
cpprefjpを読み進めた。「インライン変数」から「__has_include」まで。
インライン変数
えー、こんなん出来たんだ。静的メンバ変数定義のためだけにソースファイル用意する必要ないじゃん。
アライメント指定されたデータの動的メモリ確保
アライメントが必要な場面では便利そう。本筋とは関係ないが、align_val_t
で「こんなenum classの使い方ってありなんだ」と思った。
using宣言のパック展開
そもそもオブジェクトでなくクラスをパラメータパック展開する考えが無かった。確かにできる。それからメンバ関数を受け継ぐusingというものを恥ずかしながら知らなかった。今一つ仕様が分からない。
static_assert のメッセージ省略を許可
使ったことなかったので認知してなかった。そりゃ省略したいというかassert
と同じ書き方で書きたい。
noexcept付きのラムダ式から変換する関数ポインタにnoexceptを付加する
「例外仕様を型システムの一部にする」が同じくC++17で追加されたのでそれと同期してということか。
if文とswitch文の条件式と初期化を分離
たまに使う。switch文でも使えるのは意識したことが無かった。
enum class変数の初期値として整数を指定する際の規則を調整
enum classのこういう使い方を知らなかったのでこれも初耳だったのだが、確かにこれは可能であってほしい。
constexpr ラムダ
できなかったのかそれまで。
constexpr if 文
なんか地味に色々すごい機能ということを聞く。
https://zenn.dev/catminusminus/articles/f9c033551b66dc
__has_include
えええええこんなの出来たの!???CMakeの記述とか頑張らずにC++コードだけでフォールバックとか視野に入るじゃん…
Categories: 未分類