問題タブ [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.

0 投票する
2 に答える
484 参照

c++ - C++ペアのデータ型の問題

私は友達推薦アルゴリズムを書いていますが、一部std::pairはC++のデータ型を使用して350のランダムな友情を保存する必要があります。私は基本的に隣接リストを使用します(ベクトルのベクトルとして実装されます)。データ型を格納するベクトルを作成しますpair<int,int>。隣接リストからランダムな値を選択し、その友達の1つをランダムに選択します。ただし、データ型をペアとしてプッシュすることは確実ですが、反復することはできません。

考えられる理由は何でしょうか?

これを追加し、!不思議なことに問題を解決しました。

0 投票する
3 に答える
60511 参照

c++ - ペアの初期化のC++ベクトル

私は持っています

すべてのペアを-1、-1に初期化したい。

0 投票する
2 に答える
365 参照

c++ - コピー不可能なクラスのトリックのようなmake_pair

make_pairは、タイプに言及せずにペアを作成できます。クラスに同じトリックを使用したいのですが、boost :: noncopyableを継承しているため、コンパイルされません。

別の方法はありますか?make_bit_writerを友達にしてみたところ、アイデアが足りなくなってしまいました。

0 投票する
5 に答える
16898 参照

c++ - 関数から空の std::pair を返す

関数から空のペアを返すことは可能ですか? つまり、関数プロトタイプの規則に従いますが、ペアには要素がありません (NULL など)。ペアが単に存在することを理解しているので、これが概念的に可能かどうかはわかりません。意味がある場合は、NULL または空のペアを返す必要があります。

例えば、

残念ながら、ブーストは私には不可能です。

0 投票する
2 に答える
2122 参照

c++ - ヘッダー ファイル内で定数ペアを宣言する方法

GCC はエラーを報告します: 数値定数の前に識別子が必要です。

constであるため、宣言の瞬間にオブジェクトを構築する必要がありますが、正しい構文を取得できないようです。

0 投票する
2 に答える
7013 参照

c++ - std::vectorでベクトルを参照する>>

私は次のベクトルを持っています:

イテレータを使用してベクトルの要素を参照および印刷するにはどうすればよいですか?

0 投票する
3 に答える
11500 参照

c++ - find_if と std::pair ですが、要素は 1 つだけです

次のコードがあるとします。

intここで、それらの要素を 1 つだけ検索する必要があります。

どうすればできますか?

0 投票する
1 に答える
68 参照

c++ - 同じイテレータでベクトルを変更する

次のベクトルがあるとします。

そして、それらを10行に初期化します。

今、私はノード5、または各ノードで私のベクトルを変更する必要があります、1つの方法は次のとおりです:私はそれからバックアップを取得し、それからerasepush_backしかし、特定の理由で、私は私の順序を維持する必要がありvectorます、あなたは何かを持っていますかアイディア?

0 投票する
3 に答える
354 参照

c++ - ソート演算子がC++で機能しない

ペアの最初の要素のみを並べ替える必要があるため、並べ替え演算子の使用に問題があります。コードは単純ですが、機能していません。

演算子は次のように定義されています。

タイプは

私はこのように配列をソートしようとしています:

しかし、問題は、これが最初と2番目の要素を並べ替えていることであり、最初の要素のみを並べ替えて2番目の要素を固定したいだけです。何かご意見は?

0 投票する
1 に答える
303 参照

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 の両方のデフォルトですか?).