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