問題タブ [static-members]
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++で静的メンバー変数を解放するには?
静的メンバー変数のメモリを解放する方法を説明できる人はいますか? 私の理解では、クラスのすべてのインスタンスが破棄された場合にのみ解放できます。この時点で私は少し無力です...
それを説明するいくつかのコード:
c++ - 新規/削除問題のオーバーロード
これは私のシナリオです。新しいものをオーバーロードしてグローバルに削除しようとしています。allocator.h というファイルにアロケーター クラスを記述しました。そして、私が達成しようとしているのは、ファイルにこのヘッダー ファイルが含まれている場合、私のバージョンの new と delete を使用する必要があるということです。
したがって、ヘッダーファイル「allocator.h」で、2つの関数を宣言しました
私はすべてのアロケータを行うクラスを持っているのと同じヘッダファイル、
このクラスを new 関数と delete 関数から呼び出したいのですが、クラスを静的にしたいので、次のようにしました。
cpp ファイルでは、次のようになります: allocator.cc
問題は、静的オブジェクトである SmallObjAllocator クラスのコンストラクターを呼び出そうとしたときです。何らかの理由で、コンパイラはオーバーロードされた関数を初期化するときに new と呼んでいます。そのため、My_SmallObjectAllocator::myAlloc.deallocate(p, size); を使用しようとします。これは定義されていないため、プログラムがクラッシュします。
では、静的オブジェクトを定義するときにコンパイラが new を呼び出すのはなぜですか? どうすれば解決できますか?
c# - 静的メンバーが相互に参照しているC#2つのクラス
なぜこのコードは無限の再帰に終わらないのだろうか。静的メンバーのデフォルト値への自動初期化に関連していると思いますが、誰かが「ステップバイステップ」で「a」が2の値を取得し、「b」が1の値を取得する方法を教えてもらえますか?
c++ - 静的クラスメンバーの定義内初期化に代わる最良の方法は? (SVN キーワードの場合)
.cpp ファイルの拡張 SVN キーワード リテラルを 'static char const *const' クラス メンバーに保存しており、.h の説明をできるだけ同様に保存したいと考えています。要するに、潜在的に共有されている .h ファイルに存在する自動生成された非整数リテラルに対して、静的メンバー (おそらく .cpp ファイル内) の単一のインスタンス化を保証する必要があります。残念ながら、この言語は、クラス定義の外側で行われた割り当てに起因する複数のインスタンス化を解決しようとせず、クラス定義内の非整数の初期化を明示的に禁止します。私の最善の試み (静的ラッピング内部クラスを使用) はそれほど汚れていませんが、もっとうまくやりたいと思っています。以下のラッパーをテンプレート化する方法や、完全に優れたアプローチを持っている人はいますか?
...
...
文字列リテラルで hInfoWrap クラスをテンプレート化するための静的リンケージ アドレスの問題を回避する方法はありますか? クラス定義の外側に割り当てられた Extern char ポインターは言語的に有効ですが、メンバーの直接初期化と本質的に同じ方法で失敗します。言語が解決の問題全体を回避する理由はわかりますが、反転された extern メンバー修飾子が提供されていると非常に便利です。定義コードはクラス定義ですべての呼び出し元に表示されますが、実際には単一の特別な時点でのみ呼び出されます他の場所での宣言。
とにかく脱線します。私たちが持っている言語、テンプレート、またはその他の最適なソリューションは何ですか? ありがとう!
java - Java オブジェクト、共有変数
ここで簡単な質問があります。次のように、メインクラスで[宣言]されたオブジェクト内で変数を宣言すると:
(通常、私は次のように宣言します:
)
メインクラスでも[宣言]された別のオブジェクトで使用できますか? ところで、私はセキュリティ ATM を気にしません。何かを機能させたいだけで、保護は気にしません)
asp.net-mvc - MVCアプリケーションでの乱数生成
リクエストごとに正確に1つの数値が必要な場合、ASP.NET MVCアプリケーションで乱数を生成する正しい方法は何ですか?MSDNによると、十分な品質のランダム性を得るには、一度作成された単一のSystem.Randomオブジェクトを使用して複数の数値を生成する必要があります。MVCのリクエストごとにコントローラークラスの新しいインスタンスが作成されるため、Randomオブジェクトのコントローラーのコンストラクターで初期化されたプライベートフィールドを使用できません。では、MVCアプリのどの部分にランダムオブジェクトを作成して保存する必要がありますか?現在、コントローラークラスの静的フィールドに格納し、それを使用するアクションメソッドで遅延初期化します。
「ランダム」フィールドにはコントローラークラスの複数のインスタンスからアクセスできるため、2つのインスタンスが同時に初期化しようとすると、その値が破損する可能性がありますか?そしてもう1つの質問:静力学の存続期間はアプリケーションの存続期間であることを私は知っていますが、MVCアプリの場合それは何ですか?IISの起動からIISのシャットダウンまでですか?
c# - 静的メンバーを宣言するクラス デコレータ (たとえば、log4net 用)?
私はlog4netを使用しており、コードにはこれがたくさんあります:
欠点の 1 つは、この 10 語のセクションをあちこちに貼り付けることになり、ときどき誰かがクラス名を変更するのを忘れてしまうことです。log4net FAQでは、この別の可能性についても言及されていますが、これはさらに詳細です。
これを定義するデコレータを書くことは可能ですか? 私は本当に簡単に言いたいです:
私は他の言語で同様のことを行ったことがありますが、C# のような静的にコンパイルされた言語では決して行いませんでした。デコレーターからクラス メンバーを定義できますか?
編集:へー。私は Lisp プログラマーです。言語を切り替えるという提案には感謝していますが、実際には、より優れたメタプログラミング機能のために言語を切り替える場合は、中途半端になるのではなく、Lisp に行きます。残念ながら、このプロジェクトでは別の言語を使用することはできません。
php - PHP:静的メンバー配列の拡張
私は次のシナリオを持っています:
これらの2つのアレイを組み合わせる方法はありますB::$arr
か1,2,3,4
?
これらの配列を変更する必要はありませんが、PHPではconst配列が許可されていないため、これらの配列をconstとして宣言することはできません。https://stackoverflow.com/questions/ask
PHPのマニュアルには、文字列と定数しか割り当てられparent::$arr + array(1,2)
ないため、機能しないと記載されていますが、これは可能であると思います。
visual-c++ - vc++ - 静的メンバーがエラーを表示しています
vc++(2010)を使用しています。サーバー側ソケットのクラスを作成しようとしています。ここにヘッダーファイルがあります
および対応するソース ファイル
これで main.cpp は
私が得たエラーをコンパイルしているときは
何が原因で、どうすれば解決できますか?
c++ - 静的メンバー変数への未定義の参照
静的メンバーを持つこのクラスがあります。これは、私のプログラムの他のいくつかのクラスの基本クラスでもあります。そのヘッダーファイルは次のとおりです。
これがその実装ファイルです。
g++ を使用していますが、3 つのundefined reference to 'yarlObject::YarlObject::nextID
リンカー エラーが返されます。コンストラクターの++nextID
フレーズを justnextID
に変更すると、エラーが 1 つだけ発生し、それを に変更すると1
、正しくリンクされます。簡単なことだと思いますが、どうなんでしょう?