サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

C++Builder 10.4 Sydney の Win32およびWin64で、C++17 アルゴリズムライブラリ並列ソートを使用する

C++Builder 10.4 Sydneyは、Win32およびWin64用のClangベースのコンパイラでISO C++17標準をサポートしています。C++17標準には、並列処理をサポートするための実行ポリシーを提供するアルゴリズムライブラリが含まれています。 この記事ではC++ std::vector およびアルゴリズムライブラリのソートと並列実行ポリシーを使用して、vector内のランダムな整数を並べ替える簡単なVCLの例を示します。 この例は、32ビットおよび64ビットのWindows用Clangベースコンパイラを使用してコンパイルされています。

VCLフォームには、TButton、TLabel、および2つのTMemoコンポーネントが含まれています。

ボタンのクリックイベントハンドラには、vectorを作成し、並べ替えて結果を表示するための簡単なコードが含まれています。

[crayon-6740182d8a6eb165036133/]

もし非ClangとClangコンパイラのコードを混在させたい場合は、アプリケーションで #if、#elif、#else、#endif 条件コンパイル指令を使用できます。

[crayon-6740182d8a6f3180049635/]

このシンプルな例で使用されているC++17標準のリファレンス:

std::vector

C++ コンテナライブラリ std::vector

ヘッダー <vector> で定義
https://ja.cppreference.com/w/cpp/container/vector

アルゴリズムライブラリ

アルゴリズムライブラリは、標準のC++ライブラリを超える機能を提供します。 このライブラリは、検索、サンプリング、ソート、計数、操作、数値演算などの追加の関数が定義されています。

ヘッダー <algorithm>で定義
https://ja.cppreference.com/w/cpp/algorithm

ソートアルゴリズム
https://ja.cppreference.com/w/cpp/algorithm/sort

アルゴリズム実行ポリシー
https://ja.cppreference.com/w/cpp/algorithm/execution_policy_tag

アルゴリズム実行ポリシー型
https://ja.cppreference.com/w/cpp/algorithm/execution_policy_tag_t

モバイルバージョンを終了