問題タブ [initializer]

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

cocoa - Cocoa アプリの配列値 - 初期化子が定数エラーではない

xcodeで書いているタイマープログラムの配列を設定しようとしています。値は秒単位であり、私が望むのは、その秒数でタイマーを開始するボタンをインターフェースビルダーに持つことです。これは、.h ヘッダー ファイルで時刻を提供するために宣言しようとしている構造体です。@collegeTimes.constructive または同様のもので呼び出すことができる、2 つの配列を含む単なる配列です。

前もって感謝します!

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

methods - Luaメソッドを初期化として定義する

Lua言語では、次のようなものを使用してテーブル内の関数を定義できます。

このようにメソッドを作成するのではなく、この方法でメソッドを作成できるかどうか疑問に思いました

この方法でメソッドを追加することは可能だと確信していますが、このテクニックの固有名がわからず、「lua」や「methods」などを探しているのが見つかりません。

私の意図は、テーブルをなどの関数に渡すことmyfunction({data= stuff, name = returnedName, ?method?init() = stuff})です。

残念ながら、colonメソッド宣言でいくつかの組み合わせを試しましたが、どれも有効な構文ではありません。

だから...ここの誰かがたまたま知っていますか?

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

c++ - C++での静的初期化子とデストラクタの検索

静的初期化子とデストラクタが多すぎるプログラムがあります。それらすべてを取り除きたい。だから私はそれらを見つける方法が必要です。

実行可能ファイルでnmを実行すると、次のようになります。0004bfc0 t _ Z41 _static_initialization_and_destruction_0ii

static_initializersが含まれている場所からファイルのリストを取得する良い方法はありますか?

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

objective-c - Objective C の静的イニシャライザ

Objective-C で静的イニシャライザを作成するにはどうすればよいですか (用語が正しい場合)。基本的に私はこのようなことをしたい:

しかし、私はこれをもっと構造体のようにしたいです。つまり、この配列の各要素に対して NSString だけでなく、代わりに NSString と、MyObjectType が NSString 、いくつかの int などを含む MyObjectType の可変数を含む 1 つの NSArray を持ちます。 .

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

c++ - これら 2 つの C++ 初期化子構文はセマンティクスが異なりますか?

次のコードは、適切にコンパイルされる有効なコードであり、型名であり、変数の名前であると仮定しTますx

構文 1:

構文 2:

これら 2 つの式の正確なセマンティクスは異なりますか? もしそうなら、どのような状況で?

これらの 2 つの式が異なるセマンティクスを持っている場合、標準のどの部分がこれについて話しているかについても非常に興味があります。

また、T がスカラー型の名前 (別名、、、、など) である特殊なケースがある場合、T がintスカラーlongdoubleと非スカラー型の違いは何ですか?

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

c# - オブジェクト初期化子を使用するときにブレークポイントを適切に使用するにはどうすればよいですか?

たとえば、次のようにします。

個々の割り当てにブレークポイントを設定することはできません。ブレークポイントはブロック全体に設定されます。

コードが壊れている場所を具体的に確認したい場合は、次を使用する必要があります。

または、何かが足りないのかもしれません。オブジェクト初期化子を使用するときに適切にデバッグできますか?

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

c# - リストのコレクション初期化子「;期待される」コンパイルエラーが発生して動作しません。なんで?

ジェネリックコレクションを初期化しようとしています次のようなリストを作成します。

コンパイルエラー「;期待される」が発生します。わかりません。このようにこのコレクションを初期化できるべきではありませんか?

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

java - Javaのスーパーチューニング、いくつかの質問

質問する前に、理由もなく最適化についての講義を受けないようにお願いできますか。次の質問は純粋に学術的なものと考えてください。

私はJavaのルート(つまり、頻繁に使用され、頻繁に相互にアクセスする)クラス間のアクセスの効率について考えてきましたが、これはほとんどのオブジェクト指向言語/コンパイラに当てはまります。Javaで何かにアクセスできる最速の方法(私が推測している)は、静的な最終参照です。理論的には、その参照はロード中に利用できるため、優れたJITコンパイラーは、変数にアクセスするために参照ルックアップを実行する必要をなくし、その変数へのアクセスを定数アドレスに直接向けます。おそらくセキュリティ上の理由から、とにかくそのようには機能しませんが、私に耐えてください...

起動時に渡す操作の問題や引数があると判断したとしましょう。つまり、各クラスが他のクラスをそのまま構築するという問題に直面したとしても、静的な最終参照を取得することはできません。 Javaクラスが相互に静的な最終参照を持つようにすることをお勧めします。これを実行したくないもう1つの理由は、たとえば、これらのクラスのいくつかのプラットフォーム固有の実装を提供していたことです。;-)

今、私には2つの明白な選択肢が残されています。すべてのクラスを構築した後に設定される静的参照(一部のシステムハブクラス上)を使用して、クラス間で相互に認識させることができます(この間、クラスはまだ相互にアクセスできないため、操作の順序の問題は解消されます。少なくとも建設中)。一方、クラスは相互にインスタンスの最終参照を持つことができます。操作の順序を整理することが重要であるか、引数を渡す人の責任にすることができるか、またはそれ以上のことを提供することを決定した場合、これらのクラスのプラットフォーム固有の実装は、相互に参照する必要があります。

静的変数は、それが属するクラスに対して変数wrtの場所を検索する必要がないことを意味し、1つの操作を節約します。最後の変数は、値を検索する必要はまったくないが、クラスに属している必要があることを意味するため、「1つの操作」を保存します。OK、私は今本当に手振りをしていることを知っています!

次に、別のことが起こりました。静的な最終スタブクラスを作成できました。これは、スタブを拡張できる「impl」に各呼び出しが降格される、奇抜なインターフェイスのようなものです。その場合、パフォーマンスに影響を与えるのは、関数を実行するために必要な二重関数呼び出しであり、メソッドをfinalとして宣言することはもうできないと思います。適切に宣言されていればインライン化できるのではないかと仮定し、'impl'への参照を静的、最終、または...にすることができるかどうかを考えなければならないことに気付いたので、あきらめました。

では、3つのうちどれが最も速くなるでしょうか?:-)

頻繁にアクセスするオーバーヘッドを減らすことや、JITコンパイラのパフォーマンスを示唆する他の方法について他に考えたことはありますか?

更新:さまざまなもののテストを数時間実行し、http://www.ibm.com/developerworks/java/library/j-jtp02225.htmlを読んだ後、C++などのチューニング時に通常見るもののほとんどが見つかりました。 JITコンパイラーを使用してウィンドウを完全に終了します。30秒の計算を1回、2回実行し、3回目(およびそれ以降)の実行で「ねえ、あなたはその計算の結果を読んでいないので、実行していません!」と判断するのを見ました。

FWIWでは、データ構造をテストでき、マイクロベンチマークを使用して、ニーズに対してよりパフォーマンスの高い配列リストの実装を開発することができました。アクセスパターンは、コンパイラが推測し続けるのに十分ランダムである必要がありますが、それでも、より単純でより調整されたコードを使用して、ジェネリック化された成長配列をより適切に実装する方法がわかりました。

ここでのテストに関する限り、ベンチマーク結果を得ることができませんでした。関数を呼び出し、最終オブジェクト参照と非最終オブジェクト参照から変数を読み取るという私の簡単なテストでは、JVMのアクセスパターンよりもJITについて多くのことが明らかになりました。信じられないことに、メソッド内の異なる場所にある同じオブジェクトで同じ関数を呼び出すと、4倍の時間がかかります

IBMの記事に載っている人が言うように、最適化をテストする唯一の方法はその場でです。

途中で私を指さしてくれたみんなに感謝します。

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

ruby - Ruby:attr_initializeメソッドを持つgemはありますか?

attr_initializeクラスメソッドを定義する人気のあるrubygemはありますか?これは次のように動作します:

次と同等のものに評価されます:

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

c++ - クラス初期化子でユニオンを設定するには?

以下のようなクラスと指定された共用体が与えられた場合、どのように共用体を正しい値に初期化しますか?

ここで試みられているのは、クラスのコア データ型の 1 つとして 2 つ以上の異なる型を使用することです。void* を使用する代わりに、型が事前にわかっている場合、使用される型の共用体が構築されます。問題は、クラスがインスタンス化されるときに正しい共用体メンバーを初期化する方法です。型はポリモーフィックではないため、通常の継承モデルは適切ではないように思われました。正しい共用体メンバーを初期化するいくつかの素朴な試みは、どこにも行きませんでした。

解決策を精査した後、答えが明らかになり、この回答のリポジトリの適切な解決策になる可能性があるため、以下に含めます.