2019-11-01から1ヶ月間の記事一覧

[C++] [[nodiscard]]の言いたいこと

関数の戻り値に対するnodiscard 一番基本的な使い方です。この場合は単に戻り値を捨てないでね?という意思表示をし、それをコンパイラに通知してもらいます、そのままです。 [[nodiscard]] int f() { return 0; } int main() { f(); //コンパイラが警告を出…

[C++]コンセプトの文脈におけるmeet、satisfyとmodelの使い分けについて

この3つの言葉はどれも、あるコンセプトもしくは制約を満たすという意味で使われています。同じ意味のように思えますが標準ライブラリ中では明確な使い分けがなされています。 old conceptに対するmeet syntactic conceptに対するsatisfy semantic conceptに…

[C++]宇宙船演算子のフォールバック処理

宇宙船演算子の導入によって比較演算子の定義が著しく楽になります。ただ、テンプレートな所ではそう単純にはいかない事もあります。 template<typename T> struct wrap { T v; auto operator<=>(const wrap&) const = default; //Tが<=>を持っていなかったら? //Tが参</typename>…