個人財務 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 ++プログラミング:リストを通してあなたの道を作る - ダミー

エディタの選択

ASVABの準備:小数の使用

ASVABの準備:小数の使用

ASBABの小数を扱う方法を知る必要があります。小数は、分子と分母を使用せずに分数を書き込む方法です。小数点以下7分の10を10進数として書くことができます。あなたはそれを "7分の1"または "ゼロ点7"と発音します。小数点以下の桁数は小数点以下の桁数を示します。

ASVABサブテストの詳細 - ダミー

ASVABサブテストの詳細 - ダミー

テストの目的と目的によって、いくつかのバージョンのASVAB。 ASVAB(CAT-ASVAB)のコンピュータ化されたバージョンは、9つの別々の時間調整されたサブテストを含む。 CAT-ASVABでは、自動情報とショップ情報が2つの異なるテストに分かれていますが、それらはペーパーバージョンで組み合わせられています。 ...

ASVAB読書と朗読のヒント - ダミー

ASVAB読書と朗読のヒント - ダミー

あなたの能力を向上させるためのショートカットはありませんASVABの読解スキル(練習以外に)は、このパートでできるだけ高いスコアを取るために、テスト日にいくつかのことを行うことができます。あなたがこの小テストで時間を使い果たしている場合や、あなたが本物を特定できるかどうかがわからない場合...

エディタの選択

Excelマクロヘルプのための10の場所 - ダミー

Excelマクロヘルプのための10の場所 - ダミー

誰も1つのExcelマクロエキスパートになることはできません日。 VBAは時間と実践の旅です。良いニュースは、そこにあなたの道であなたを助けることができる豊富な資源があるということです。

5本当にクールなExcel関数 - ダミー

5本当にクールなExcel関数 - ダミー

この便利な関数をExcelの機能に追加すると、あなたはExcelマスターのそれ以上のものになるでしょう。簡単に乱数を生成するExcel RAND関数は0と1の間の数値を返します。それだけです。通常、返された数値を有用なものにマッサージする必要があります。 ...

Excel 2016でユーザー定義関数に説明を追加する - ダミー

Excel 2016でユーザー定義関数に説明を追加する - ダミー

ユーザーがカスタム関数の目的を理解している場合は、関数の機能の説明に役立つ[関数と関数の引数の挿入]ダイアログボックスに表示される説明を追加できます。このような種類の説明をユーザー定義関数に追加するには、Visual Basic Editorの特殊ウィンドウであるオブジェクトブラウザを使用します。

エディタの選択

Excelのテキスト文字列からスペースを削除する - ダミー

Excelのテキスト文字列からスペースを削除する - ダミー

余分なスペースを含むテキストに間違いなく遭遇します。これらの余分なスペースは、テキストの冒頭にあることがありますが、それ以外の場合は末尾に表示されることがあります。

Excelデータ分析アドインの回帰ツール - ダミー

Excelデータ分析アドインの回帰ツール - ダミー

回帰という用語は指数関数的な平滑化ほど悪くはないが、少なくとも数学的にはもっと複雑である。そのため、データ分析アドインの回帰ツールが便利です。アドインは、移動平均と指数平滑化の場合と同様に、数学の責任を負います。あなたはまだ...

Excel 2007ワークシートの名前を変更する - ダミー

Excel 2007ワークシートの名前を変更する - ダミー

Excel 2007がブックのタブ(Sheet1〜 Sheet3)はあまり説明的ではありません。幸いなことに、この記述的な名前が31文字以下であれば、ワークシート・タブの名前をワークシートに貼り付けたものを覚えやすくする名前に簡単に変更できます。