タグ付けされた質問 「instantiation」

30
Javaでジェネリック配列を作成する方法は?
Javaジェネリックの実装のため、次のようなコードは使用できません。 public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } タイプセーフを維持しながらこれをどのように実装できますか? Javaフォーラムで次のような解決策を見ました。 import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } しかし、私は本当に何が起こっているのかわかりません。

5
[]がlist()より速いのはなぜですか?
私は最近の処理速度を比較[]し、list()その発見に驚いた[]ランを超える3倍速くよりlist()。私はと同じテストを実行{}し、dict():との結果が実質的に同一であった[]と{}しながら、両方は約0.128sec /万サイクルを取ったlist()し、dict()およそ0.428sec /万サイクルごとをしました。 どうしてこれなの?やる[]と{}(そしておそらく()と''、あまりにも)その明示的に名前のカウンターパートは、(一方で、すぐにいくつかの空の株式リテラルのコピーをバックパスlist()、dict()、tuple()、str())は完全に彼らが実際の要素を持っているかどうか、オブジェクトの作成に取り掛かりますか? 私はこれら2つの方法がどのように違うのか分かりませんが、知りたいです。ドキュメントやSOで答えを見つけることができず、空の角かっこを検索すると、予想よりも問題が多いことがわかりました。 私は呼び出すことで、私のタイミング結果を得たtimeit.timeit("[]")とtimeit.timeit("list()")し、timeit.timeit("{}")かつtimeit.timeit("dict()")それぞれ、リストや辞書を比較するために、。Python 2.7.9を実行しています。 to のパフォーマンスを比較し、同様のリテラル対グローバルのシナリオに触れているように見える「なぜTrueがif 1よりも遅いのですか?」を最近発見しました。おそらくそれも検討する価値があります。if Trueif 1



9
クラス名を保持する文字列からオブジェクトをインスタンス化する方法はありますか?
私はファイルを持っています:Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ および別のファイル:BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else if(/*etc...*/) { …

8
タイプではインスタンスメンバーを使用できません
私は次のクラスを持っています: class ReportView: NSView { var categoriesPerPage = [[Int]]() var numPages: Int = { return categoriesPerPage.count } } コンパイルは次のメッセージで失敗します: インスタンスメンバー 'categoriesPerPage'はタイプ 'ReportView'では使用できません これは何を意味するのでしょうか?

4
SwiftでUIViewサブクラスのカスタムinitを作成するにはどうすればよいですか?
私がしたいとして、サブクラスと。initUIViewStringInt サブクラス化しているだけの場合、Swiftでこれをどのように実行しUIViewますか?カスタムinit()関数を作成するだけで、パラメーターがStringとIntの場合、「初期化子から戻る前にsuper.init()が呼び出されない」ことがわかります。 呼び出すsuper.init()と、指定された初期化子を使用する必要があると言われます。そこで何を使うべきですか?フレーム版?コーダーバージョン?両方とも?どうして?

9
C ++オブジェクトのインスタンス化
私はC ++を理解しようとしているCプログラマです。多くのチュートリアルでは、次のようなスニペットを使用したオブジェクトのインスタンス化を示しています。 Dog* sparky = new Dog(); これは後で行うことを意味します: delete sparky; それは理にかなっています。さて、動的なメモリ割り当てが不要な場合、上記の代わりに上記を使用する理由はありますか? Dog sparky; そして、sparkyがスコープから外れたら、デストラクタが呼び出されるようにしますか? ありがとう!
113 c++  instantiation 

3
JavaScriptで小文字の「f」を使用した `new function()`
私の同僚は、JavaScriptで新しいオブジェクトを定義するために、小文字の「f」を使用して「new function()」を使用しています。すべての主要なブラウザでうまく機能しているようで、プライベート変数を隠すのにもかなり効果があるようです。次に例を示します。 var someObj = new function () { var inner = 'some value'; this.foo = 'blah'; this.get_inner = function () { return inner; }; this.set_inner = function (s) { inner = s; }; }; 「this」が使用されるとすぐに、someObjのパブリックプロパティになります。そのため、someObj.foo、someObj.get_inner()、someObj.set_inner()はすべて公開されています。さらに、set_inner()とget_inner()は特権メソッドであるため、クロージャーを介して「内部」にアクセスできます。 ただし、この手法への言及はどこにもありません。Douglas CrockfordのJSLintでさえ不満があります。 奇妙な建設。「新規」を削除 この手法は本番環境で使用しており、うまく機能しているようですが、ドキュメント化されていないため、少し心配です。これが有効な手法であるかどうか誰かが知っていますか?

9
Javaでクラスを名前でインスタンス化する方法はありますか?
私は質問として探していました:名前を持つクラスをインスタンス化する方法を説明する文字列名からクラスをインスタンス化します。Javaでそれを行う方法はありますか?パッケージ名とクラス名を取得し、その特定の名前を持つオブジェクトを作成できるようにする必要があります。

4
リフレクションを使用してC#でデフォルトコンストラクターなしの型のインスタンスを作成する
例として次のクラスを取り上げます。 class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } 次に、リフレクションを使用してこのタイプのインスタンスを作成します。 Type t = typeof(Sometype); object o = Activator.CreateInstance(t); 通常、これは機能SomeTypeしますが、パラメーターなしのコンストラクターが定義されていないため、への呼び出しにより、「このオブジェクトにパラメーターなしのコンストラクターが定義されていません。」というメッセージが表示されActivator.CreateInstance、タイプの例外がスローされます。すべてのクラスにパラメーターなしのコンストラクターを追加するのはちょっと厄介です。MissingMethodException

7
PythonにはJava Class.forName()と同等のものがありますか?
私は文字列引数を取り、その文字列で指定されたクラスのオブジェクトをPythonで作成する必要があります。Javaではを使用しますClass.forName().newInstance()。Pythonに同等のものはありますか? 回答ありがとうございます。私が何をしているのか知りたい人に答えるために:コマンドライン引数をクラス名として使用してインスタンス化したいと思います。私は実際にはJythonでプログラミングしてJavaクラスをインスタンス化しているので、問題のJava性です。 getattr()よく働く。どうもありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.