問題タブ [containers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 汎用反復子
一連のコンテナーにアクセスする一般的な方法を見つけようとしています。別のカスタム リストに加えて、標準のベクターとリストがあります。
カスタム リストは反復子を定義します。
適切な演算子がオーバーロードされています。
理想的には、これを行いたいと思います。
しかし明らかに、これらはすべて異なる型の反復子です。ただし、すべてのコンテナが同じタイプであると想定できます。
この問題を解決するエレガントな方法はありますか?
c++ - 動的にソートされた STL コンテナ
私はSTLにかなり慣れていないので、動的にソート可能なコンテナがあるかどうか疑問に思っていましたか? 現時点では、さまざまな並べ替えアルゴリズムと組み合わせてベクターを使用することを考えていますが、並べ替えられたベクターにエントリを挿入するという (おそらく) 線形の複雑さを考えると、より適切な選択があるかどうかはわかりません。
「動的に」明確にするために、実行時に並べ替え順序を変更できるコンテナーを探しています。たとえば、昇順で並べ替えてから、後で降順で並べ替えます。
containers - 生の .aac ファイルを .m4a コンテナーにラップする最も簡単な方法は何ですか?
この質問は、次の質問からのオーバーフローです。
プログラムで mp3 を iTunes で再生可能な aac/m4a ファイルに変換するにはどうすればよいですか?
とにかく、aac ファイルの作成方法を学びましたが、aac はファイル拡張子が異なる単なる m4a ファイルではないことがわかりました。実際、どうにかして aac を m4a コンテナーにラップする必要があります。理想的には、コマンド ラインを呼び出すだけで済みます。
c++ - 二重インデックス作成に最適なコンテナー
二重索引付けを可能にするコンテナーをセットアップするための (C++ での) 最良の方法は何ですか? 具体的には、オブジェクトのリストがあり、それぞれがキーでインデックス付けされています (キーごとに複数の可能性があります)。これはマルチマップを意味します。ただし、これに伴う問題は、オブジェクトの位置を見つけるためのルックアップが線形よりも悪い可能性があることです。データの重複は避けたいので、各オブジェクトが独自の座標を維持し、マップ内で自分自身を移動する必要があるのは悪いことです (自分のオブジェクトを移動すると、メンバー関数内でデストラクタが間接的に呼び出される可能性があることは言うまでもありません!)。オブジェクトポインターと座標の両方でインデックスを維持し、オブジェクト自体が安定した参照/ポインターを保証するコンテナーが望ましいです。次に、各オブジェクトはイテレータをインデックス (座標を含む) に格納し、十分に抽象化して、そしてそれがどこにあるかを知ってください。Boost.MultiIndex は最良のアイデアのように思えますが、非常に恐ろしく、実際のオブジェクトを const にする必要はありません。
あなたは何をお勧めします?
編集: Boost Bimap は良さそうですが、安定したインデックス作成を提供しますか? つまり、座標を変更しても、他の要素への参照は有効なままでなければなりません。インデックス作成にポインターを使用する理由は、オブジェクトには固有の順序付けがなく、オブジェクトが変更されてもポインターが一定のままである可能性があるためです (IIRC が安定したインデックス作成を提供する Boost MultiIndex での使用を許可します)。
c++ - std::stack がデフォルトで std::deque を使用するのはなぜですか?
コンテナをスタックで使用するために必要な操作は次のとおりです。
- 戻る()
- push_back()
- pop_back()
デフォルトのコンテナーがベクトルではなく両端キューであるのはなぜですか?
push_front() が効率的な操作になるように、再割り当てを deque して front() の前に要素のバッファーを与えないでください。これらの要素は、スタックのコンテキストで使用されることはないため、無駄になっていませんか?
ベクトルの代わりにこの方法で両端キューを使用してもオーバーヘッドがない場合、priority_queue のデフォルトが両端キューではないのはなぜですか? (priority_queue には、front()、push_back()、および pop_back() が必要です - 基本的にスタックの場合と同じです)
以下の回答に基づいて更新されました。
deque が通常実装される方法は、固定サイズ配列の可変サイズ配列であるようです。これにより、ベクトル (再割り当てとコピーが必要) よりも高速に成長するため、要素の追加と削除がすべてのスタックのようなものでは、おそらく deque の方が適しています。
削除と挿入のたびに pop_heap() または push_heap() を実行する必要があるため、priority_queue には大量のインデックス作成が必要です。とにかく、要素の追加はまだ償却定数であるため、これはおそらくベクトルをより良い選択にします。
c++ - ポインターとコンテナー
RAW ポインターをスマート ポインターの形式でラップして、例外セーフ メモリ管理を実現する必要があることは誰もが知っています。しかし、ポインターのコンテナーになると、問題はさらに厄介になります。
std コンテナーは、含まれているオブジェクトがコピー可能であることを主張するため、これにより std::auto_ptr の使用が除外されますが、boost::shared_ptr などは引き続き使用できます。
ただし、ポインターを安全に保持するように明示的に設計されたブースト コンテナーもいくつかあります。ポインター コンテナー ライブラリ
を参照してください。
問題は、smart_pointers のコンテナーよりも ptr_containers を使用した方がよい条件は何ですか?
c++ - 配列インデックスの代わりに反復子を使用する理由
次の 2 行のコードを見てください。
この:
2番目の方法が好ましいと言われています。これはなぜですか?
apache-flex - Flex - 囲まれたコンポーネントがクリックされたときのコンテナのクリック イベントを回避する
Canvas を使用して他のいくつかのコンポーネントを含む Flex アプリケーションがあります。そのキャンバスには、システムを介して特定のフローを呼び出すために使用されるボタンがあります。キャンバスの他の場所をクリックすると、詳細ペインが表示され、このコントロールによって表されるレコードに関する詳細情報が表示されます。
私が抱えている問題は、ユーザーがボタンをクリックするたびにボタンがキャンバス内にあるため、ボタンとキャンバスの両方でクリックイベントが発生することです。ユーザーが別のコンポーネントで覆われた領域をクリックした場合に、Canvas オブジェクトでクリック イベントが発生しないようにする方法はありますか?
問題を実証するために、簡単な小さなテスト アプリケーションを作成しました。
ボタンをクリックすると、マウスが 1 回だけクリックされたにもかかわらず、テキスト ボックスに "Button Clicked" と "Canvas Clicked" の 2 つのエントリが表示されます。
ボタンをクリックすると「ボタンクリック」エントリのみが作成されるように、2番目のエントリが作成されないようにする方法を見つけたいと思いますが、キャンバスの他の場所をクリックすると「キャンバスクリック」エントリは引き続き表示されます。
.net - IoC コンテナー - 最適なコンテナーはどれですか? (。ネット)
人々が IoC コンテナに何を使用しているかを知りたいです。Castle Windsor についていくつか良いことを読んだことがありますが、多くの人が StructureMap、Unity、Ninject などを使用していることを知っています。
言及されたもの(および私が無視したもの)の違いのいくつかは何ですか。強み?弱点?より適切な適合 (StructureMap は ABC には最適ですが、XYZ にはあまり適していないなど)?
java - Java クライアントからの Web サービスの呼び出し
Tomcat 内で実行される単純な Web アプリがあります。この Web アプリから Web サービスを呼び出す必要がありますが、その方法がわかりません。管理環境と非管理環境のどちらを使用しているかに応じて、2 つの方法があるようです。
JNDI サービス ルックアップ (マネージド)
と
JAX-RPC ServiceFactory (管理対象外)
...では、どのテクニックを使用すればよいですか?