1654017060
いくつかのパートの最初の部分は、標準テンプレートライブラリ(STL)をカバーしています。
開発者として、特にC ++のような非常に成熟した安定したSW言語では、コアライブラリの強力な基盤を取得することが重要です。C ++では、これは標準ライブラリであり、C++98からC++23までのメジャーリリースで継続的インテグレーションが行われています[1]。
図1に示すように、C++SLのコアはSTLです。いくつかのブログで詳細に説明するように、STLは、データ収集を管理するための効率的なアルゴリズムソリューションを提供する汎用ライブラリです。
図1C++標準ライブラリ(SL)は、ほとんどがSTLで構成されています。作者が作成したイラスト。
STLの外部にある他のコンポーネントはSLの一部であることに注意してください。要約すると、SLは[2]も提供します。
次に、STLに焦点を当てましょう。
結論として、C ++の基本的な理解(特に効果的な現代のコードベース)は、そのSLとさまざまなヘッダーファイル、したがって部分的に提供されるインターフェイスに関する知識にあります。
C ++標準ライブラリを使用する理由:
STLの概要
図2STLのコンポーネント。出典:[3]
データ構造とアルゴリズムは、上記のように提供されます(項目7を参照)。これらはSTLの多くを構成します。まず、STLのコンポーネントを見てみましょう。
図3Aは、すべてのデータサイエンスの典型的なシナリオです。作者が作成したイラスト。
メモリ管理に関する過去のブログシリーズ([4]および[5]を参照)で取り上げたように、プログラム(たとえば、インポート、制御フロー、i / o)があり、外部リソース(たとえば、データ)があります。 )。構造なしでデータがメモリに読み込まれる場合、データポイントをコンテナ(つまり、データ構造)に編成する必要があります。
たとえば、単純なケースで2つのデータ型があると仮定します。したがって、関連付けかグループ化かを問わず、各データポイントのタイプを知りたいと思います(図4)。
図4.左側にタイプ別のデータポイント(例:名目上のラベル)、右側にグループの関連付け(例:クラスター)。作者はイラストを作成しました。
図4を見て、次のことを考えてください。どちらの場合でも、理想的なデータ構造はどのように機能しますか?もっと情報が必要ですか?
したがって、STLによって提供される主要なコンポーネントの1つであるコンテナ(つまり、データ構造)についてのみヒントを示しました。アルゴリズムはどうですか?したがって、図3を振り返ると、左側(つまり、プログラム自体)に戻ります。アルゴリズムを使用してデータセットを操作したいと思います。STLのもう1つの主要な部分があります。
さて、コンテナとアルゴリズムの必要性と実用的な重要性を確立しました。M
コンテナがN
アルゴリズムで実行されている場合を観察してみましょう。図5に示すように、これにはM*N
実行コストがかかります。
図M
5N個のアルゴリズムのコンテナのコストM*N個の異なるスクリプトを実装する必要があります。作者が作成したイラスト。
STLは、イテレータを介して2つの高度にペアリングされたコンポーネント間のインターフェイスを一般化し、2つの高度にペアリングされたコンポーネントをブリッジします。このシリーズのパート4について詳しく説明するので、さまざまなコードスニペットIterators
を実装するだけでよい方法を提供しN+M
ます(図6)。
図6N個のアルゴリズムのMコンテナには、M+N個の異なるスクリプトを実装する必要があります。作者が作成したイラスト。
通常、A
アルゴリズムとC
コンテナをサポートする場合は、A × C
実装が必要になります。A
コンテナごとにアルゴリズムを実装する必要がありC
ます。
A + C
の実装のみを提供する必要があります。AC
要約すれば
A
アルゴリズムとC
コンテナをサポートする場合は、A × C
実装が必要になります。A
コンテナごとにアルゴリズムを実装する必要がありC
ます。次は何ですか?
次に、STLコンテナーについて詳しく説明します。次に、アルゴリズムについて説明し、その後にイテレータについて説明します。また、ファンクターをカバーする最後の作品(図2ではありますが、範囲外です…今のところ)。
元の記事のソース:https ://betterprogramming.pub/a-standard-template-library-stl-tutorial-series-9379bcbcd2fb
#STL #programming #cpp #cpluplus
1654017060
いくつかのパートの最初の部分は、標準テンプレートライブラリ(STL)をカバーしています。
開発者として、特にC ++のような非常に成熟した安定したSW言語では、コアライブラリの強力な基盤を取得することが重要です。C ++では、これは標準ライブラリであり、C++98からC++23までのメジャーリリースで継続的インテグレーションが行われています[1]。
図1に示すように、C++SLのコアはSTLです。いくつかのブログで詳細に説明するように、STLは、データ収集を管理するための効率的なアルゴリズムソリューションを提供する汎用ライブラリです。
図1C++標準ライブラリ(SL)は、ほとんどがSTLで構成されています。作者が作成したイラスト。
STLの外部にある他のコンポーネントはSLの一部であることに注意してください。要約すると、SLは[2]も提供します。
次に、STLに焦点を当てましょう。
結論として、C ++の基本的な理解(特に効果的な現代のコードベース)は、そのSLとさまざまなヘッダーファイル、したがって部分的に提供されるインターフェイスに関する知識にあります。
C ++標準ライブラリを使用する理由:
STLの概要
図2STLのコンポーネント。出典:[3]
データ構造とアルゴリズムは、上記のように提供されます(項目7を参照)。これらはSTLの多くを構成します。まず、STLのコンポーネントを見てみましょう。
図3Aは、すべてのデータサイエンスの典型的なシナリオです。作者が作成したイラスト。
メモリ管理に関する過去のブログシリーズ([4]および[5]を参照)で取り上げたように、プログラム(たとえば、インポート、制御フロー、i / o)があり、外部リソース(たとえば、データ)があります。 )。構造なしでデータがメモリに読み込まれる場合、データポイントをコンテナ(つまり、データ構造)に編成する必要があります。
たとえば、単純なケースで2つのデータ型があると仮定します。したがって、関連付けかグループ化かを問わず、各データポイントのタイプを知りたいと思います(図4)。
図4.左側にタイプ別のデータポイント(例:名目上のラベル)、右側にグループの関連付け(例:クラスター)。作者はイラストを作成しました。
図4を見て、次のことを考えてください。どちらの場合でも、理想的なデータ構造はどのように機能しますか?もっと情報が必要ですか?
したがって、STLによって提供される主要なコンポーネントの1つであるコンテナ(つまり、データ構造)についてのみヒントを示しました。アルゴリズムはどうですか?したがって、図3を振り返ると、左側(つまり、プログラム自体)に戻ります。アルゴリズムを使用してデータセットを操作したいと思います。STLのもう1つの主要な部分があります。
さて、コンテナとアルゴリズムの必要性と実用的な重要性を確立しました。M
コンテナがN
アルゴリズムで実行されている場合を観察してみましょう。図5に示すように、これにはM*N
実行コストがかかります。
図M
5N個のアルゴリズムのコンテナのコストM*N個の異なるスクリプトを実装する必要があります。作者が作成したイラスト。
STLは、イテレータを介して2つの高度にペアリングされたコンポーネント間のインターフェイスを一般化し、2つの高度にペアリングされたコンポーネントをブリッジします。このシリーズのパート4について詳しく説明するので、さまざまなコードスニペットIterators
を実装するだけでよい方法を提供しN+M
ます(図6)。
図6N個のアルゴリズムのMコンテナには、M+N個の異なるスクリプトを実装する必要があります。作者が作成したイラスト。
通常、A
アルゴリズムとC
コンテナをサポートする場合は、A × C
実装が必要になります。A
コンテナごとにアルゴリズムを実装する必要がありC
ます。
A + C
の実装のみを提供する必要があります。AC
要約すれば
A
アルゴリズムとC
コンテナをサポートする場合は、A × C
実装が必要になります。A
コンテナごとにアルゴリズムを実装する必要がありC
ます。次は何ですか?
次に、STLコンテナーについて詳しく説明します。次に、アルゴリズムについて説明し、その後にイテレータについて説明します。また、ファンクターをカバーする最後の作品(図2ではありますが、範囲外です…今のところ)。
元の記事のソース:https ://betterprogramming.pub/a-standard-template-library-stl-tutorial-series-9379bcbcd2fb
#STL #programming #cpp #cpluplus
1601505060
NGINX 使い方、設定ファイル、locationの書き方【やっすんのエンジニアTips】パート1
NGINXの名前の由来、設定ファイル、locationの書き方を解説!
■ 目次
#nginx