個人財務 C ++プログラミング:リストを通してあなたの道を作る - ダミー

C ++プログラミング:リストを通してあなたの道を作る - ダミー

ビデオ: Section 10 2024

ビデオ: Section 10 2024
Anonim

C ++プログラマーは、各要素のインデックスを提供することによって配列を反復処理します。しかし、この手法は、 list のようなランダムアクセスが許可されていないコンテナでは機能しません。 getFirst()やgetNext() などのメソッドに基づくソリューションを想像することができます。 しかし、標準テンプレートライブラリの設計者は、任意のタイプのコンテナを横断するための共通の方法を提供したいと考えていました。

<! --1 - >

これに対して、標準テンプレートライブラリはイテレータを定義します。

イテレータ は、コンテナのメンバを指すオブジェクトです。一般的に、すべてのイテレータは次の関数をサポートしています。

  • クラスは、コレクションの最初のメンバーを指すイテレータを返すことができます。

  • イテレータは、あるメンバから次のメンバに移動できます。

  • イテレータは、リストの最後に到達すると指示を返します。

    <! - 2 - >
  • プログラムは、イテレータが指す要素を取得できます。

標準テンプレートライブラリには、リストを逆方向に移動するための逆イテレータも用意されています。イテレータについてのここのすべては、逆イテレータにも等しく適用されます。

リスト を反復するのに必要なコードは、 ベクトル (2つの例を挙げるに過ぎない)を走査するのに必要なコードとは異なります。ただし、イテレータはこれらの詳細を隠します。

<! - 3 - >

メソッドbegin()は、リストの最初の要素を指すイテレータを返します。間接演算子*()は、イテレータが指すオブジェクトへの参照を取得します。 ++ 演算子は、イテレータをリストの次の要素に移動します。

イテレータがend() によって返される値と等しくなるまで、プログラムはリストを通って増加し続けます。 次のコードスニペットは、生徒のリストの先頭で始まり、それぞれの名前を表示します。

void displayStudents(list&students){//リストリストの最初の//要素を指すイテレータを割り当てます::iterator iter = students。ベギン(); // iteratorがリストの最後をヒットするまで、リストをループし続けます。iter!= students.end()){// iteratorがStudentを検索します。 cout << s。 sName << endl; //イテレータをリストの次の要素//に移動iter ++;}}

イテレータの宣言は非常に複雑になります。これはおそらく、'11標準で導入された 自動 宣言のための最良の正当化です:(auto iter = students。begin(); iter!= students。end(); iter ++){cout

これは、メソッドリストによって返されるすべての型の反復子であると宣言しています。:begin() 

、 は、前のコードスニペットに示されている苦い宣言を避けます。どのくらいクールです!

C ++プログラミング:リストを通してあなたの道を作る - ダミー

エディタの選択

Photoshop Elements 12で地図に画像を配置する方法 - ダミー

Photoshop Elements 12で地図に画像を配置する方法 - ダミー

面白い写真を撮影した場所に応じて写真を並べ替えることができます。 Photoshop Elementsを使用すると、写真をジオスペースマップに簡単に配置できます。地図上に写真を置くのが簡単であることを確認するには、以下の手順に従います。メディアブラウザで写真のフォルダを選択します。

Photoshop Elementsの選択ブラシでペイントする方法 - ダミー

Photoshop Elementsの選択ブラシでペイントする方法 - ダミー

キャンバスにペイントするアクションPhotoshop Elements 11の選択ブラシを試してみてください。2つの異なるモードを使用して、選択したい画像の領域にペイントするか、選択したくない領域にペイントすることができます。選択ブラシを使用すると、...

Photoshop Elements 11にファイルを配置する方法 - ダミー

Photoshop Elements 11にファイルを配置する方法 - ダミー

写真に追加する。アートワークは、Elementsで開くことができるサポートされている形式のファイル形式であれば、どのような形式でも構いません。非常に頻繁に、ベクターアートの図や、インポートするアートワークを含むPDFファイルを見つけることができます。 ...

エディタの選択

HTML5とCSS3のプログラミングのリンクを作る方法 - ダミー

HTML5とCSS3のプログラミングのリンクを作る方法 - ダミー

Manyウェブページは、HTML5とCSS3のプログラミングのリンクのリストであることが分かります。リストとリンクはうまくいっているので、例を見るのは良いことです。特定の著者によって書かれた本へのリンクリストを確認してください。この例には新しいコードはありませんが、ページには...

HTML5とCSS3ベースのWebページ用のフォントのリストを作成する方法 - ダミー

HTML5とCSS3ベースのWebページ用のフォントのリストを作成する方法 - ダミー

あなたのフォントがあなたのHTML5とCSS3のウェブページ上に正しく表示されるかどうかを知ることの不確実性は不満ですが、あなたは何らかのコントロールをすることができます。必要に応じて、フォント名のリスト全体を指定することができます。ブラウザは各フォントを順番に試行します。

HTML5とCSS3プログラミングのクラスを定義する方法 - ダミー

HTML5とCSS3プログラミングのクラスを定義する方法 - ダミー

スタイルをHTML5ページ内の特定のタイプのすべての要素に適用することができますが、スタイルをより細かく制御したい場合もあります。たとえば、複数の段落スタイルが必要な場合があります。例として、クラスを見てください。 htmlページ。もう一度、複数のフォーマットがあります...

エディタの選択

予測分析のためのランダムフォレストを使用した監視学習モデルの作成方法 - ダミー

予測分析のためのランダムフォレストを使用した監視学習モデルの作成方法 - ダミー

ランダムフォレストモデルは、予測分析に使用できるアンサンブルモデルです。そのモデルを作成するために意思決定ツリーのアンサンブル(選択)が必要です。この考え方は、弱い学習者(トレーニングデータのランダムなサブセット)の無作為標本を取って、最も強いものと最良のものを選択する投票をさせることです。

データマイニングダミー用チートシート - ダミー

データマイニングダミー用チートシート - ダミー

データマイニングは、通常のビジネスマンがさまざまなデータ分析データから有用な情報を発見し、その情報を実用に供する技術。データマイナーは、理論や前提に惑わされません。彼らはテストによってその発見を検証します。そして、彼らは物事が変化することを理解しているので、そうした発見がうまくいっていることを理解します。

アナリティクスとデータの展開生データを実用的なインサイトに変換する論者 - ダミー

アナリティクスとデータの展開生データを実用的なインサイトに変換する論者 - ダミー

生データを実用的な洞察に変換することは、収集したデータから実際に恩恵を受けるものへの進展の第一歩です。ビジネス中心のデータ科学者は、データ分析を使用して生データから洞察を生成します。分析の種類を識別する次のリストは複雑さが増す順に、4つのタイプのデータです...