問題タブ [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.
c++ - テンプレートのデータ型を確認する方法はありますか?
次のコードがあるとします。
何らかの方法でこれを行うことは可能ですか?そうでない場合、同じことを達成する方法をお勧めできますか?
c++ - 他のテンプレート クラスを使用するテンプレート クラス メンバーをどのように初期化しますか?
クラスのメンバー関数を正しく設定してアクセスするのに問題があります。このノード クラスは、Max Heap Tree を構築するために使用されています。ただし、ツリーが初期化されているとき、初期化しているものではなく、ガベージデータを取得しています。
これが、ヒープ ツリーを構築するクラスです。コンストラクターであらゆる方法で初期化を設定しようとしましたが、まだジャンク データを取得しています。さらに、整数を取るようにコンストラクターを設定しましたが、ドライバー プログラムでツリーを作成するときに、そのサイズの配列を開始する引数を配置できません。
c++ - 動的テンプレート配列のサイズを変更するにはどうすればよいですか?
クラスのメンバーとして動的テンプレート配列があります。ただし、コンストラクターまたはその他の関数で配列のサイズを変更することはできません。私は構文について混乱しています。コードは次のとおりです。
配列はHeapNode<Type>
、HeapNode クラスから含まれるオブジェクトの配列です。HeapNode クラスのコンストラクタは次のとおりです。
c++ - 特殊機能付引き離し機能タイプ
この質問への答えは、クラス テンプレートを使用して関数型を分離します。
ここで何が行われているかを調べたので、書き直そうとしましたfunction_args
。decltypeargs
テンプレートの必要性をなくすために、関数を使用してこれを実行しようとしました。しかし、不適切な構文に陥っていることに気付きました。
私の希望は、 を呼び出すのではなく、型decltype(myTry<decltype(foo)>())
を取得するために呼び出すことでした。関数宣言でこれを行う方法はありますか?tuple
decltypeargs<decltype(foo)>
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 メソッドをループしたいと考えています。
問題は、クラスをテンプレート クラスに変更すると、「クラスにコンストラクターがありません」というエラー メッセージが表示されることです。しかし、彼らはそれらを持っています。
これが私のコードです助けてください(エラーが発生した場所にコメントしたことに注意してください):
c++ - Variadic テンプレート クラス: Variadic テンプレート引数ごとに 1 つの一意のメンバー関数を実装することは可能ですか?
RTTI に依存せずにリフレクションを実装するために Visitor パターンを使用しています。私の問題は次のとおりです。
同じ BaseItem クラスから派生したさまざまなクラス DerivedItem1、DerivedItem2 などをこの BaseItem クラスにキャストできる Visitor を実装したいと考えています。
基本クラスと派生クラスの 1 つは次のようになります。
訪問者クラス:
このように BaseVisitor を実装することはできません。これはDerivedItem::visit(BaseVisitor)
、Base クラスに自分自身をキャストせず、BaseVisitor::handle(BaseItem &v)
呼び出されないためです。
次のように、基本クラスとすべての派生クラスをテンプレート パラメーターとして使用して、ビジターをテンプレート クラスとして実装したいと考えています。
C++ を使用して、コンパイラがこのメンバー関数を独自に生成できるようにすることは可能ですか?
c++ - テンプレートクラスはどのように一致しますか
enable_if
テンプレートクラスのペアである実装を理解しようとします。私が理解していないことは、なぜenable_if<true, int>
最初のものと一致しないのですか? これはどのように決定されますか?