問題タブ [template-classes]

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

c++ - テンプレートのデータ型を確認する方法はありますか?

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

何らかの方法でこれを行うことは可能ですか?そうでない場合、同じことを達成する方法をお勧めできますか?

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

c++ - 他のテンプレート クラスを使用するテンプレート クラス メンバーをどのように初期化しますか?

クラスのメンバー関数を正しく設定してアクセスするのに問題があります。このノード クラスは、Max Heap Tree を構築するために使用されています。ただし、ツリーが初期化されているとき、初期化しているものではなく、ガベージデータを取得しています。

これが、ヒープ ツリーを構築するクラスです。コンストラクターであらゆる方法で初期化を設定しようとしましたが、まだジャンク データを取得しています。さらに、整数を取るようにコンストラクターを設定しましたが、ドライバー プログラムでツリーを作成するときに、そのサイズの配列を開始する引数を配置できません。

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

c++ - 動的テンプレート配列のサイズを変更するにはどうすればよいですか?

クラスのメンバーとして動的テンプレート配列があります。ただし、コンストラクターまたはその他の関数で配列のサイズを変更することはできません。私は構文について混乱しています。コードは次のとおりです。

配列はHeapNode<Type>、HeapNode クラスから含まれるオブジェクトの配列です。HeapNode クラスのコンストラクタは次のとおりです。

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

c++ - 特殊機能付引き離し機能タイプ

この質問への答えは、クラス テンプレートを使用して関数型を分離します。

ここで何が行われているかを調べたので、書き直そうとしましたfunction_argsdecltypeargsテンプレートの必要性をなくすために、関数を使用してこれを実行しようとしました。しかし、不適切な構文に陥っていることに気付きました。

私の希望は、 を呼び出すのではなく、型decltype(myTry<decltype(foo)>())を取得するために呼び出すことでした。関数宣言でこれを行う方法はありますか?tupledecltypeargs<decltype(foo)>

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

c++ - ポインタのテンプレート配列C ++?

こんにちは皆さん、私の c++ プログラムには 4 つのクラス (A、B、C、D) があります。

  • A は基本クラスです
  • B は A から継承します
  • C は A から継承します
  • D は B から継承します

それらはすべてテンプレート クラスtemplate<class Type>であり、それぞれにプライベート メンバーと継承元のクラスのプライベート メンバーを出力する print メソッドがあります。

したがって、B は B プライベート メンバーと A プライベート メンバーを出力し、C は C プライベート メンバーと A プライベート メンバーを出力し、D はそのプライベート メンバーと B,A プライベート メンバーを出力します。

メイン関数では、各クラスのオブジェクトの 3 つの場所を持つクラス A のポインターの配列を作成し、各オブジェクトの print メソッドをループしたいと考えています。

問題は、クラスをテンプレート クラスに変更すると、「クラスにコンストラクターがありません」というエラー メッセージが表示されることです。しかし、彼らはそれらを持っています。

これが私のコードです助けてください(エラーが発生した場所にコメントしたことに注意してください):

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

c++ - Variadic テンプレート クラス: Variadic テンプレート引数ごとに 1 つの一意のメンバー関数を実装することは可能ですか?

RTTI に依存せずにリフレクションを実装するために Visitor パターンを使用しています。私の問題は次のとおりです。

同じ BaseItem クラスから派生したさまざまなクラス DerivedItem1、DerivedItem2 などをこの BaseItem クラスにキャストできる Visitor を実装したいと考えています。

基本クラスと派生クラスの 1 つは次のようになります。

訪問者クラス:

このように BaseVisitor を実装することはできません。これはDerivedItem::visit(BaseVisitor)、Base クラスに自分自身をキャストせず、BaseVisitor::handle(BaseItem &v)呼び出されないためです。

次のように、基本クラスとすべての派生クラスをテンプレート パラメーターとして使用して、ビジターをテンプレート クラスとして実装したいと考えています。

C++ を使用して、コンパイラがこのメンバー関数を独自に生成できるようにすることは可能ですか?

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

c++ - テンプレートクラスはどのように一致しますか

enable_ifテンプレートクラスのペアである実装を理解しようとします。私が理解していないことは、なぜenable_if<true, int>最初のものと一致しないのですか? これはどのように決定されますか?