問題タブ [generic-programming]

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 投票する
9 に答える
149111 参照

python - Pythonのジェネリック/テンプレート?

pythonはジェネリック/テンプレートタイプのシナリオをどのように処理しますか? 外部ファイル「BinaryTree.py」を作成し、バイナリツリーを処理させたいとしますが、データ型は問いません。

そのため、カスタム オブジェクトの型を渡して、そのオブジェクトのバイナリ ツリーを作成できます。これはPythonでどのように行われますか?

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

.net - この単純な関数をVB.NETでジェネリックにする方法は?

達成を目指す:

関数がList(Of String)、Array&Stringを受け入れ、同様にList(Of String)、Array&Stringをそれぞれ返すようにします。関数は、入力コレクションに文字列(月)を追加するだけです。文字列、配列、リストに使用したいだけで、変換について考える必要があります。

私は単純な関数を持っています:

ジェネリック型「T」を使用して目的を達成するにはどうすればよいですか?

それは本当に私に多くの緊張を救うでしょう..!

私はVB.Netに不慣れで、ジェネリック関数についてあまり知りません!

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

c++ - 部分的に特殊化されたクラスでのタグディスパッチと静的メソッド

がPODタイプのvoid f<T>()場合は1つのことを行い、非POD(またはその他の任意の述語)の場合は別のことを行うジェネリック関数を作成するとします。TT

これを実現する1つの方法は、標準ライブラリがイテレータカテゴリで行うように、タグディスパッチパターンを使用することです。

別の方法は、部分的に特殊化されたタイプの静的メンバー関数を使用することです。

ある方法を他の方法よりも使用することの長所と短所は何ですか?どちらをお勧めしますか?

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

c++ - さまざまなタイプのデータをベクトルに格納する?

さまざまなデータ型の引数を にキャストして格納する汎用関数を作成しようとしていvector<char>ます。キャストとは、ビット表現が文字のベクトル内に保持されることを意味します。たとえば、 のintような4 バイトは、 、、および0x19a4f607としてベクトルに格納されます。vc[0] = 0x19vc[1] = 0xa4vc[2] = 0xf6vc[3] = 0x07

ここまで書いてきましたが、セグメンテーション違反が発生します。どうすればこれを修正できますか?

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

c# - C# - 未知の型の関数を別の関数に渡して呼び出す

私のプログラムでは、関数をパラメーターとして取得し、別の関数内から呼び出すことを想定しています。それはできますか?
ありがとうございました

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

c - Cで型にとらわれない構造体を作成するには、どちらの方法が適していますか?

私はいくつかの一般的な構造を書き込もうとしています。基本的に、私の目的に必要なのはC ++テンプレートですが、Cで書いているので、テンプレートは考慮されていません。現在、私は自分が望むことを達成するための2つの方法を検討しています。

方法1:プリプロセッサを使用します。そのようです:

明らかな欠点は、型を使用する前にマクロを呼び出さなければならないことです。おそらくもっと不利な点がありますが、それを指摘していただきたいと思います。

方法2:次のようにvoidポインタを使用します。

明らかに、このアプローチは型安全ではありません(doubleのペアを期待する関数に文字列のペアを簡単に渡すことができます)。さらに、このアプローチでは、割り当て解除を行うコードが非常に面倒になります。

これについてのあなたの考えを聞きたいです。2つの方法のどちらが良い/悪いのか、そしてその理由は何ですか?Cで一般的な構造体を書くために使用できる他の方法はありますか?

ありがとう。

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

c - Cでジェネリックマクロを実装するには?

でしたら、着払いparamchar *発送致しfunc_stringます。

の場合int、発送先func_int

変数の型はコンパイル時に認識されるため、これに対する解決策があると思います..

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

c++ - すでにクラスとインターフェースがあったのに、なぜ概念 (ジェネリック プログラミング) が考案されたのでしょうか?

また、programmers.stackexchange.com で:

STL の概念が存在する必要があり、それらを「クラス」または「インターフェイス」と呼ぶのはばかげていることを理解しています。実際には、それらは文書化された (人間の) 概念にすぎず、当時は C++ コードに変換できませんでした。しかし、概念に対応するために言語を拡張する機会が与えられた場合、クラスの機能や導入されたインターフェースを単純に変更しなかったのはなぜでしょうか?

概念はインターフェイス (データのない 100% 抽象クラス)に非常に似ていませんか? それを見ると、インターフェースは公理のサポートを欠いているだけのように思えますが、公理をC++のインターフェースに導入できるかもしれません(概念を引き継ぐためにC++でインターフェースを仮想的に採用することを検討してください)、そうではありませんか?自動の概念でさえ、そのような C++ インターフェースに簡単に追加できると思います (自動インターフェースの LessThanComparable、誰ですか?)。

concept_mapは Adapter パターンに非常に似ていませんか? すべてのメソッドがインラインである場合、アダプタは基本的にコンパイル時以降存在しません。コンパイラは、インターフェイスへの呼び出しをインライン バージョンに置き換えるだけで、実行時にターゲット オブジェクトを直接呼び出します。

静的オブジェクト指向プログラミングと呼ばれるものについて聞いたことがあります。これは本質的に、汎用プログラミングでオブジェクト指向の概念を効果的に再利用することを意味し、実行オーバーヘッドを発生させることなく OOP のほとんどの機能を使用できるようにします。このアイデアがさらに検討されなかったのはなぜですか。

これが十分に明確であることを願っています。私がそうではないと思われる場合は、これを書き直すことができます。私に知らせて。

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

entity-framework - Entity Framework 4.1 挿入エラー

問題のあるベースウィンドウ用の汎用リポジトリを作成しました。より具体的に言えば、次のように Unit と呼ばれる小さな poco クラスがあります。

これは、基本エンティティ クラスから次のように継承されます。

これは、汎用リポジトリ クラスの Add セクションです。

新しいレコードを追加する前に、max id を db から取得して IdTextBox に配置し、前述のベース リポジトリの Add メソッドを呼び出すベース フォームの add メソッドを呼び出します。ここに問題があります。「プロパティ 'Id' はオブジェクトのキー情報の一部であり、変更できません。」というエラーが表示されます。すべてのプロパティを対応するコントロールにマップするマッパー クラスもあります。私の問題は何ですか?

前もって感謝します。

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

java - このジェネリック クラス宣言は何を意味するのでしょうか?

この質問をするのは良くないことはわかっています。この質問をすると呪われるかもしれませんが、この質問について助けを求める場所が見つかりません。

以下は、私のインタビューの質問に出てきた汎用クラスです (私はすでに失敗しています)。問題は、この Class 宣言が何をしているのか、またどのような状況でこれを使用できるのかを伝えることでした。

汎用プログラミングについての理解は非常に限られていますが、「T」はタイプであり、ここで「拡張」とは、タイプが「SimpleGenericClass」を継承する必要があることを意味しますが、「?」を理解していません。最後に、このクラスがどのような状況で使用される可能性があるか