問題タブ [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 投票する
3 に答える
308 参照

c++ - C++標準でのpair<>のグローバルな不平等の比較

cppreferenceによると:

不等式比較(<、>)では、最初の要素が最初に比較され、不等式比較がそれらに当てはまらない場合にのみ、2番目の要素が比較されます。

これは次のように変換されます。

私の質問は、なぜそれがそれほど直感的でないのですか?その背後にある理由は何ですか?そして、この推論が正しい答えにつながる例はありますか?

実装は単純に次のようになると思いました。

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

c++ - C ++、2つのベクトルをペアのベクトルにコピーできません

次のデータ型があります。

2つのベクトルをペアのベクトルにコピーしたい:

しかし、コンパイラは次のエラーで停止します。

問題はどこだ?ご協力いただきありがとうございます。コンパイラMSVS2010x86。私はBoostのないソリューションを好みます。

更新された質問 dasblinkenlightによってエラーが見つかりました。修正されたコードは次のとおりです。

しかし、コンパイラは同じエラーを示します...

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

c++ - 文字列が機能する unordered_map を作成する方法

これはうまくいきます。ペアの値として MyObject::printSomeText 関数を使用する別の方法はありますか?

0 投票する
4 に答える
2869 参照

c++ - C ++、std::pairでTをテンプレート化します

次の構造を使用して、「最初の」タイプのstd::pairをテンプレート化したい

そして、そのようなペアのベクトルを作成します。

しかし、このコードは一般的な使用法のためにねじ込まれているようであり、不快です:

もっとシンプルで快適な解決策はありますか?

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

c++ - 定番の新品ペアはありますか?

が欲しいですpair<A,B>*make_pair(a,b)(ペアはポインターではないことに注意してpair<A,B>ください)。ペアポインターを作成する標準的な方法はありますか? 2 つの単語の前後に new を追加しようとしましたが、存在しないようです。

0 投票する
6 に答える
21326 参照

c++ - C++ std::transform ペアのベクトル -> 最初のベクトルから新しいベクトルへ

少し初歩的な質問で申し訳ありません。ベクトルとペアのベクトルがあります

ペアのすべての最初のアイテムを別のベクトルに一度に変換する方法はありますか

ファンクタの設計方法

ラムダ式とループのない、よりユーザーフレンドリーな方法があるかもしれません。ご協力いただきありがとうございます。

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

c++ - このテンプレート化されたペアを c++ で初期化する方法は?

「ePair e(a,b)」を使用してペアを作成しているときに、「template2.cpp:39:2: エラー: 'G::ePair' はテンプレートではありません」というエラーが表示されます。このコンパイルの理由が正確にはわかりません。エラーが来ていますか?ここで何か不足していますか?

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

c++ - std::pairのstd::mapにイテレータを設定できません

std::pairの値を持つマップがあります。

イテレータを設定しようとすると、コンパイラは次のように文句を言いますが、理由がわかりません。

src / DBConnector.cpp:メンバー関数内'int DBConnector :: createGenericInsert(std :: string、std :: map <std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、 std :: pair <int、std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>>、std :: less <std :: basic_string <char、std :: char_traits <char >、std :: allocator <char >>>、std :: allocator <std :: pair <const std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、std :: pair <int、std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>> >> >> >>、std :: string&)':src / DBConnector.cpp:354:エラー:いいえ'l_oIterEnd = p_mapValues.std :: map <_Key、_Tp、_Compare、_Alloc>::の'operator='に一致_Key = std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、_ Tp = std :: pair <int、std :: basic_string <char、std ::char_traits<charで終了>、std :: allocator <char >>>、_ Compare = std :: less <std :: basic_string <char、std :: char_traits <char>、std :: allocator <char >>>、_ Alloc = std :: allocator <std :: pair <const std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、std :: pair <int、std :: basic_string <char、std :: char_traits < char>、std :: allocator <char>> >>>'/usr/include/c++/4.4/bits/stl_map.h:251:注:候補は次のとおりです:std :: map <_Key、_Tp、_Compare、_Alloc> &std :: map <_Key、_Tp、_Compare、_Alloc> :: operator =(const std :: map <_Key、_Tp、_Compare、_Alloc>&)[with _Key = std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、_Tp = std :: pair <int、std :: basic_string <char、std :: char_traits < char>、std :: allocator <char >>>、_ Compare = std :: less <std :: basic_string <char、std :: char_traits <char>、std :: allocator <char >>>、_ Alloc = std :: allocator <std :: pair <const std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>>、std :: pair <int、std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>> >> >>]basic_string <char、std :: char_traits <char>、std :: allocator <char>>>、_ Alloc = std :: allocator <std :: pair <const std :: basic_string <char、std :: char_traits <char>、 std :: allocator <char>>、std :: pair <int、std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>> >> >>]basic_string <char、std :: char_traits <char>、std :: allocator <char>>>、_ Alloc = std :: allocator <std :: pair <const std :: basic_string <char、std :: char_traits <char>、 std :: allocator <char>>、std :: pair <int、std :: basic_string <char、std :: char_traits <char>、std :: allocator <char>> >> >>]

私の機能はそのままです:

ここでの問題は何ですか?マップにstd::pairを含めることはできますか?(さらに、マップにさまざまなタイプを保持するキーを含めることはできますか?)

0 投票する
7 に答える
107648 参照

c++ - std::make_pair と std::pair のコンストラクターの目的は何ですか?

の目的はstd::make_pair何ですか?

なぜそうしないのstd::pair<int, char>(0, 'a')ですか?

2つの方法に違いはありますか?

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

c++ - Spirit サンプルのコンパイル エラー

この他の質問に対する受け入れられた回答は、このサンプルにつながりましたが、コンパイルすると長いエラーリストが表示されます。ここにサンプル コードを示します。インクルードとダミーの main() だけを追加しました。

ブースト 1.42 (Ubuntu 11.04 ディストリビューションのデフォルト) と 1.48 (ダウンロード済み) の両方を試しました。エラー(QtCreatorによってフィルタリングされたものを報告します)が異なります:ver 1.42は

ながらver. 1.48を与える

何か足りないものはありますか?

編集:解決策を見つけました:このヘッダーを追加すると、両方のバージョンがコンパイルされます