問題タブ [stdtuple]

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 に答える
6668 参照

c++ - タプルからN番目のタイプを取得するには?

インデックスを入力できるテンプレートを作成したいのですが、そのインデックスの型が得られます。これでできることはわかっていますがdecltype(std::get<N>(tup))、自分で実装したいと思います。たとえば、私はこれをやりたいのですが、

...そして、それは私に位置の型を与えますN - 1(配列は0から始まるインデックスを付けているため). これどうやってするの?ありがとう。

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

templates - std::pair のアンパック>>タプルへ

だから私は変換する関数を考え出そうとしています;

データ型をstd::tuple;

任意の数の混合型引数を使用して、一般的なケースで機能するはずです。ペアの形式は次のとおりです。

  • 「車」は常にタイプになります。
  • 「cdr」は常にstd::pair
    • 'cdr' が型自体になる最も内側のケースを除きます
      (ただしstd::pair、型は任意であるため、これはそれ自体である可能性があります)。

取得する引数の数と型は、可変個引数のテンプレート引数によって事前にわかっています。

現在の進行状況はやや低く、いくつかのことを試していますが、必要なコードはこれらの線に沿っているようです。

しかし、私はこれを自動的に生成する方法を見つけることができないようです.私はSequence<int...>アプローチを試みました.通常のgetメソッドを使用して、これらを使用して複数回検索しますか?

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

c++ - openmp で C++11 std::tuple を反復処理できますか?

を反復処理するために、次のコードを指定しましたstd::tuple。コードはこちらから

for_eachここで、 openmp on を使用できるのと同じ方法で、このループを openmp で実行したいと思いforます。これを可能にするトリックはありますか?

注: 上記のコードを変更するか、独自の の他のバージョンを使用できますfor_each

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

c++ - インデックスC++ 11でタプル要素にアクセスする

それは秘密ではなく、std::get<i>(tuple)多くのプログラマーを悩ませています。

その代わりに、 のようなものを使いたいですtuple[i]

というわけでシミュレーションしてみました。

Q: このコードの何が問題なのですか? つまり、このコードは使用可能かどうか? 使用可能な場合、なぜstd::tupleこのように実装されないのですか?

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

c++ - タプルからの変数のエラー時にクラッシュする

std::cerrで変数を使用しようとすると、何らかの理由std::tupleでプログラムがクラッシュします。私の推測では、それstd::get<int>( std::tuple )は garbledy-gook を返しているということです。に渡された値が変更される理由はありますかstd::tuple(渡したとき、または std::get< int >( std::tuple ) の呼び出し時に、標準の奇妙な言い回しのために、または不完全な実装)?たとえば、コピーから、コピーを読み取ろうとすると何かばかげたこと (すなわちstd::get) が発生しますか?

編集: この質問は抽象的なものであり、必ずしも以下のコードに関するものではありませんが、std::tuple に関する情報を提供するために、私 (およびこの投稿を読んだ他の人) は将来使用できる可能性があります。

更新: MinGW GCC 4.4.1 からも動作します。

更新:
私のコードが ideone.com で実行されていることに気付きました:

デスクトップで使用しているコンパイラは、MinGW の GCC 4.8.1-4 です。これはコンパイラのバグですか?