2022-09-09から1日間の記事一覧

std::format

c++

std::format基本 printf()と同じ感覚で、書式と変数を指定する。置換フィールド({と}で囲まれた部分)に置換フィールド書式を指定するが、デフォルトの書式で良ければ省略できる。 #include <format> #include <iostream> int main(){ auto i{5}; auto str{"abc"}; std::cout <<</iostream></format>…

c++ modules

c++

MSVCでのサポート https://en.cppreference.com/w/cpp/compiler_support によるとMSVCでは19.28でサポートされている。 Visual Studioの設定 https://docs.microsoft.com/ja-jp/cpp/build/reference/experimental-module?view=msvc-170 に従い、 /std:c++20 …

c++ 小ネタ

c++

if文内で初期化できる if(auto i = 5 * -10 * 3; i < 0){ std::cout << i << " < 0" << '\n'; } (switch文も同様) initializer_listを関数に渡す void disp_all(std::initializer_list<int> il){ for(auto i: il) std::cout << i << " "; } disp_all({2,4,6,8}); </int>…

c++ jthread

c++

自動join std::threadでは、スレッドが終了する前にthreadオブジェクトが破棄されるとstd::terminate()が呼ばれる。そのため、join()を呼んで、スレッドの終了を待つ必要がある。 (スレッドの管理が必要ないのであれば、detach()でもよい) TEST(thread, cpp2…