問題タブ [static-functions]

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

actionscript-3 - Actionscript-静的関数とUI要素に問題がありますか?

私はここで少し頭を抱えており、ActionScriptでOOPを使用しています。ビデオストリームをキャプチャするDisplayクラスがあります。カメラを制御するための基本的な停止/記録ボタンのセットを作成しようとしています。thisどうやら私は、クリップを識別して停止することを可能にする変数にアクセスする関数や変数を宣言することはできません。コンパイラ(私はHaxeを使用しています)はエラーをスローします:

私はこれに間違った方法でアプローチしている可能性があります。ここにいくつかの(省略された)コードがあります:

私はHaxeを使用してAS3にコンパイルしています。http://haxe.org/doc/flash/as2_compareにこの問題をカバーしていないように見えるデルタのリストがあるので、これは私がASで抱えている問題だと思います。コンパイラーに関連している可能性はありますが、これまでHaxeが本当に好きだったからではないことを願っています。

actionscriptコンパイラがこれらの関数を静的として扱う場合、オブジェクトインスタンスに関連付けられたUI要素をどのように作成しますか?

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

c++ - 「静的」クラス変数を隠す

そこで最近、見たことのない特定のテクニック (イディオム?) を使用したソース コードを見つけました。簡単に言えば; 問題のクラスに静的変数を使用する代わりに、クラスのソース ファイル内でローカル変数を使用していました。

myclass.h

myclass.cpp

main.cpp

私の質問は、なぜ誰かが静的変数を使用してこのアプローチを採用するのでしょうか?

私の見解では、理想的には、変数は myclass クラス (private static) だけが認識し、継承はまったく重要ではないため (この場合)、他の人がこの変数について知ることができなくなる可能性があります。しかし、それが私が見ることができる唯一の利点です。それがそれを正当化するかどうかはわかりません。

プライベートな (静的/非静的) メンバー関数についても同じことが言えます。継承が重要でない場合。

EDIT:周りを読んだ後、一部の人々がまだCプログラミングスタイルを使用しているためだと突き刺します...

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

c++ - 静的変数の解放順序

助けてください、

問題: 次のコードのコア ダンプ:

抽象クラス SomeOtherClass があり、そこから SomeOtherClassImpl を派生させました。

問題を引き起こすコードは次のとおりです。

他の翻訳単位に MyClass 型の静的変数がいくつかあります。

プログラムの終了時にセグメンテーション違反が発生するため、問題は奇妙です。もちろん、theDefault は theVector の前に割り当てを解除できますが、違いは何ですか? メインがすでに完了している場合、両方とも割り当て解除されます。

あなたが助けていただければ幸いです。

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

c++ - 静的変数と関数の使用法

次のクラス定義とmain()があります。誰かが私にエラーが発生する理由を教えてもらえますか?

私が得るエラーは次のとおりです。

test :: send(1)の代わりにc.send(1)を使用しても、エラーは同じです。助けてくれてありがとう。

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

c++ - C++ の静的仮想関数

基本クラスと派生クラスがあり、他の関数に静的として渡す必要があるため、それらを静的に保ちながら基本関数を変更したいと考えています。

どうやってやるの?

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

matlab - MATLAB クラスで静的メンバー変数を取得する方法は?

MATLAB クラスで静的メンバー変数を定義する方法はありますか?

これは機能しません:

「Static」の代わりに「Constant」というキーワードを使用することをお勧めします。定数のプロパティは変更できません。class のすべてのオブジェクトに共通の変数がA必要で、その変数を class のメソッドで変更できるようにしたいと考えていますA

したがって、私が必要とするのはプライベート静的メンバー変数です。MATLAB で取得する方法はありますか?


静的メンバー関数で永続変数を使用して回避策を実行できることがわかりました。

この場合、次のような基本クラスからすべてのクラスを継承する必要があります。

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

c++ - 静的/グローバル関数をモックする最も簡単な方法は?

私はPersonのような単純でほぼ価値のあるクラスを持っています:

サードパーティのライブラリを使用していますが、それを破棄するには、(サードパーティのライブラリの一部である)というThirdPartyClassグローバル/静的関数を呼び出す必要があります。DestroyこのDestroy関数は、Personデストラクタで呼び出されます。

現在、Personクラスの単体テストを試みていますが、メソッドをモック/スタブするDestroy方法が必要です。静的Destroy関数の周りにラッパークラスを記述し、依存性注入を使用してこのラッパーをPersonクラスに注入できると思いますが、この単純なクラスでこの1つの関数を呼び出すだけではやり過ぎのようです。これを行うための簡単で簡単な方法は何ですか?それとも、依存性注入は本当にこれを行うための最良の方法ですか?

アップデート

最終的には、サードパーティライブラリのすべてのグローバル関数をラップするクラスを作成し、依存性注入を使用してこのクラスをpersonクラスのコンストラクターに渡すことにしました。このようにして、Destroyメソッドをスタブすることができます。個人クラスは単一の関数のみを使用しますが、ライブラリの他の関数はコードの他のポイントで呼び出され、それらをテストする必要があるため、同じ問題に直面します。

メインのアプリコードでこのラッパークラスの単一インスタンスを作成し、必要に応じて挿入します。わかりやすいと思うので、このルートを選びました。Billy ONealのソリューションが好きで、それが私の質問に答えると思いますが、コードを数か月残して戻ってきた場合、依存性注入と比較して、何が起こっているのかを理解するのに時間がかかることに気付きました。「明示的は暗黙的よりも優れている」というPythonの格言の禅を思い出します。依存性注入により、何が起こっているのかがもう少し明確になると思います。

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

python - Pythonでオーバーライドされたクラス関数を参照する方法

私はC++とJavaを知っており、Pythonプログラミングに慣れていません。だから多分それは私がやろうとしていることは悪いスタイルです。

休閑の例を考えてみましょう。

selfタスクの必要がないため、クラスのインスタンスを作成しようとしていないため、パラメーターを使用していないことに注意してください。関数をオーバーライドできるように関数を参照しようとしています。

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

objective-c - NSClassFromString(MyClassName)は、MyClassのクラス関数を呼び出すよりも

7人の子を持つUIViewCustomクラスを取得しました。それぞれの子供たちは、開始を支援するための独自のクラス機能を持っていました

UITableViewでクラスの1つを選択すると、関数 "-insertNewObjectWithClassName:(NSString *)childClassName"が呼び出されます。

その関数では、クラス名に応じてインスタンスを作成したいので、試してみました

ただし、残念ながら静的関数を呼び出すことはできません。

クラスは単なるクラスではなく、関数を伝えるためのマザークラスでもあるとコンパイラーに言う方法はありますか?

どうもありがとうございます!

編集:警告:セマンティックの問題:メソッド'-minWidth'が見つかりません(戻りタイプのデフォルトは'id'です)

解決策:Class*classの代わりにClassclass

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

c++ - C++静的関数の複製

静的関数を持つクラスがあるとしましょう。クラスのコンストラクターは、静的関数をエントリポイントとして使用してpthread_createを実行します。

私の質問は:

このクラスのインスタンスが複数ある場合、それらはすべてその関数を使用して独自のスレッドを実行しますか?これを行うことに問題はありますか?そして...関数自体に静的変数が含まれている場合、再入可能ではないという問題がありますか?