問題タブ [std-pair]
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++ペアのデータ型の問題
私は友達推薦アルゴリズムを書いていますが、一部std::pair
はC++のデータ型を使用して350のランダムな友情を保存する必要があります。私は基本的に隣接リストを使用します(ベクトルのベクトルとして実装されます)。データ型を格納するベクトルを作成しますpair<int,int>
。隣接リストからランダムな値を選択し、その友達の1つをランダムに選択します。ただし、データ型をペアとしてプッシュすることは確実ですが、反復することはできません。
考えられる理由は何でしょうか?
これを追加し、!不思議なことに問題を解決しました。
c++ - ペアの初期化のC++ベクトル
私は持っています
すべてのペアを-1、-1に初期化したい。
c++ - コピー不可能なクラスのトリックのようなmake_pair
make_pairは、タイプに言及せずにペアを作成できます。クラスに同じトリックを使用したいのですが、boost :: noncopyableを継承しているため、コンパイルされません。
別の方法はありますか?make_bit_writerを友達にしてみたところ、アイデアが足りなくなってしまいました。
c++ - 関数から空の std::pair を返す
関数から空のペアを返すことは可能ですか? つまり、関数プロトタイプの規則に従いますが、ペアには要素がありません (NULL など)。ペアが単に存在することを理解しているので、これが概念的に可能かどうかはわかりません。意味がある場合は、NULL または空のペアを返す必要があります。
例えば、
残念ながら、ブーストは私には不可能です。
c++ - ヘッダー ファイル内で定数ペアを宣言する方法
GCC はエラーを報告します: 数値定数の前に識別子が必要です。
constであるため、宣言の瞬間にオブジェクトを構築する必要がありますが、正しい構文を取得できないようです。
c++ - std::vectorでベクトルを参照する>>
私は次のベクトルを持っています:
イテレータを使用してベクトルの要素を参照および印刷するにはどうすればよいですか?
c++ - find_if と std::pair ですが、要素は 1 つだけです
次のコードがあるとします。
int
ここで、それらの要素を 1 つだけ検索する必要があります。
どうすればできますか?
c++ - 同じイテレータでベクトルを変更する
次のベクトルがあるとします。
そして、それらを10行に初期化します。
今、私はノード5、または各ノードで私のベクトルを変更する必要があります、1つの方法は次のとおりです:私はそれからバックアップを取得し、それからerase
、push_back
しかし、特定の理由で、私は私の順序を維持する必要がありvector
ます、あなたは何かを持っていますかアイディア?
c++ - ソート演算子がC++で機能しない
ペアの最初の要素のみを並べ替える必要があるため、並べ替え演算子の使用に問題があります。コードは単純ですが、機能していません。
演算子は次のように定義されています。
タイプは
私はこのように配列をソートしようとしています:
しかし、問題は、これが最初と2番目の要素を並べ替えていることであり、最初の要素のみを並べ替えて2番目の要素を固定したいだけです。何かご意見は?
c++ - Intel と比較して、ペアのベクトルをソートする際の GNU C++ コンパイラのパフォーマンスが低い
私のプログラムには、並べ替える必要があるペアのベクトルがあります。次のようなもの:
いくつかの測定を行ったところ、要素のサイズが 16M を超えるベクトルの場合、Intel C++ コンパイラでコンパイルすると並べ替えに 3 秒かかり、GNU C++ コンパイラでコンパイルすると 25 秒かかることがわかりました。これは私には極端な違いのようです (GNU を使用すると 8 倍以上遅くなります)。
このプログラムを GNU C++ で高速化する方法を知っていますか?
私の構成は Intel 12.1.5 と GNU 4.7.1 です。残念ながら、プログラムの実行に使用するコンピューターにはスーパーユーザー権限がありません。
事前に助けてくれてありがとう、ダニエル。
編集:最適化フラグ -O3 はこの問題を解決しました。GNU C++ は現在 3 ~ 4 秒かかります。ヒントをありがとう、私は自分でそれを理解していないことを恥じています:(。したがって、この投稿がいつか他の誰かに役立つことを願っています:)。
参考までに、測定値内で最適化フラグを指定しませんでした(多分 -O2 は Intel と GNU の両方のデフォルトですか?).