2020-12-01から1ヶ月間の記事一覧

[C++]Boost.PFRの実装の解説のような。

動機 Boost 1.75.0からPFRが追加された。通常の構造体のメンバ変数に対してあたかもstd::tupleであるかのようにget<N>でアクセスできる、という謎機能ライブラリである。 このようなライブラリの存在は以前から知ってはいたのだが、白状すると、その機能を知っ</n>…

[C++]Visual StudioからClangを使うときに膨大な警告が出る。

問題 タイトルのとおり。オプションに与えているのは-Wallのみのはずだが、何故か-Wallでは出るはずのない警告が大量に発せられるのだ。 警告の内容は、C++98と互換性のないコードだとか、コンマ演算子の使い方に文句をつけられたりとか、static変数にいちゃ…

[C++]std::tupleのコンストラクタとstd::anyに関する豆知識。

C++

問題 次のコードを実行するとどうなるか? #include <iostream> #include <cstdlib> #include <tuple> #include <any> void print(const std::any& a) { if (a.type() == typeid(int)) std::cout << "any contains int" << std::endl; else if (a.type() == typeid(std::tuple<int>)) std::cout <</int></any></tuple></cstdlib></iostream>…