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

[C++]ムーブセマンティクスに対応するThreadPool。

プログラミング界隈でよく知られたマルチスレッド処理のためのパターンであるスレッドプール。使用可能なスレッド数を予め定めておき、そこにキュー方式で処理を追加していくもの。走らせたい関数が100個くらいあったとしても、それを順番待ちに追加して逐次…

[C++]テンプレート再帰回数の限界、再帰回数を減らす実装方法。

C++

テンプレートメタプログラミングなどをしていると多用することになる、テンプレートの再帰。実はこの再帰回数には制限がある。C++11ではこの再帰回数は1024回が推奨されており十分に大きい。実際の回数制限はコンパイラによって異なるが、それなりに大きな数…

Visual Studioで64bitコンパイラツールセットを使う方法。C1060への対処。

msvcでテンプレートを大量に使うなど非常に重たいコードをコンパイルしていると、 fatal error C1060: ヒープの領域を使い果たしました。 というエラーが出ることがある。 Visual Studioのデフォルトのコンパイラは未だに32bitである。出力するバイナリが32b…