[解決済み] イテレータを自作する
2022-05-12 18:03:21
質問
私はC++を学ぼうとしているので、この質問が基本的な知識の欠如を示すものであるなら、私を許してください。
私は、私が作成したクラスのイテレータを作成する方法を解決するためにいくつかの助けが欲しいです。
Pointのコンテナを持つクラス'Shape'があります。 Shape を参照し、Shape の位置を定義するクラス 'Piece' があります。 PieceはShapeを持たず、Shapeを参照するだけです。
Piece が参照する Shape と同じ Point のコンテナであり、Piece の位置のオフセットが追加されているように見せたいのです。
Piece がコンテナであるかのように、Piece の Point を繰り返し使用できるようにしたいです。少し読んでみましたが、私を助けてくれるものは見つかりませんでした。何かポインタがあれば、非常にありがたいです。
どのように解決するのですか?
Boost.Iteratorsを使用する必要があります。新しいイテレータや既存のイテレータのアダプタを実装するためのテンプレートやコンセプトが多数含まれています。私は を書きました。 それは2008年12月のACCU magazineに掲載されました。Boost.Iteratorsを使用してオブジェクトからメンバーコレクションを公開するという、まさにあなたの問題に対する(IMOの)エレガントな解決策を論じています。
もしあなたがstlだけを使いたいのであれば Josuttis book には、独自のSTLイテレータを実装するための章があります。
関連
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み] C++で配列はどのように使うのですか?
-
[解決済み] C++11でRule-of-ThreeがRule-of-Fiveに?[クローズド]
-
[解決済み】カスタムイテレータとconst_iteratorを正しく実装する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++