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

静的とは、特定のオブジェクトインスタンスにバインドされていない関数またはデータストレージ領域(フィールド)を定義するために一部のプログラミング言語で使用される用語です。ほとんどの場合、このタグを使用する場合は、特定のプログラミング言語タグと組み合わせて使用​​する必要があります。

7
静的フィールドは継承されますか?
静的メンバーが継承される場合、それらは階層全体に対して静的ですか、それともそのクラスだけですか? class SomeClass { public: SomeClass(){total++;} static int total; }; class SomeDerivedClass: public SomeClass { public: SomeDerivedClass(){total++;} }; int main() { SomeClass A; SomeClass B; SomeDerivedClass C; return 0; } 3つのインスタンスすべてで合計は3になりますか、それとも2 SomeClassと1 SomeDerivedClassですか?
102 c++  inheritance  static 

4
Android静的オブジェクトのライフサイクル
私はイベント検索アプリケーションを作成しています。ある画面から検索条件を設定し、別の画面に入力してから、ユーザーは3番目の画面から検索条件を編集して4番目の画面に移動します。 上記のタスクを達成するために、アプリケーション周辺の値を記憶する静的オブジェクトを使用しており、特別なことをする必要はありません。 しかし、メモリ不足のアンドロイドが静的オブジェクトを削除した場合、アンドロイドの静的オブジェクトのライフサイクルについて心配ですか? androidはマルチタスクをサポートしているため、ユーザーが別のアプリケーションに切り替えて、ユーザーがアプリケーションに戻ったときに動作がおかしくなり、静的オブジェクトがマルチタスクで削除されますか??? 何か案が ??また、シングルトンメソッドを介して静的オブジェクトを保持することをお勧めしますか?


7
インターフェースのすべてのフィールドが暗黙的に静的で最終的なのはなぜですか?
インターフェイスで定義されているすべてのフィールドが暗黙的である理由を理解しようstaticとしていfinalます。フィールドを保持staticするという考えは、インターフェイスのオブジェクトを保持できないので私には理にかなっていますが、なぜそれがfinal(暗黙的に)あるのでしょうか。 Javaの設計者がインタフェースのフィールドを作るといった理由いずれかが知っているstaticとfinal?

6
@Autowiredおよび静的メソッド
@Autowired静的メソッド内から使用する必要があるサービスがあります。これは間違っていることはわかっていますが、現在の設計を変更することはできません。多くの作業が必要になるため、簡単なハックが必要です。randomMethod()非静的に変更することはできません。この自動ワイヤードBeanを使用する必要があります。それを行う方法の手がかりはありますか? @Service public class Foo { public int doStuff() { return 1; } } public class Boo { @Autowired Foo foo; public static void randomMethod() { foo.doStuff(); } }
100 java  spring  static  autowired 

4
Swiftの静的関数変数
私は、ローカルでのみスコープされた静的変数をSwiftの関数に宣言する方法を理解しようとしています。 Cでは、これは次のようになります。 int foo() { static int timesCalled = 0; ++timesCalled; return timesCalled; } Objective-Cでは、基本的に同じです。 - (NSInteger)foo { static NSInteger timesCalled = 0; ++timesCalled; return timesCalled; } しかし、私はSwiftでこのようなことをすることができないようです。次の方法で変数を宣言してみました。 static var timesCalledA = 0 var static timesCalledB = 0 var timesCalledC: static Int = 0 var timesCalledD: Int static = 0 …
96 function  static  swift 

7
静的変数はスレッド間で共有されますか?
スレッドの上級Javaクラスの私の先生は、私にはわからないことを言っていました。 彼は、以下のコードは必ずしもready変数を更新するとは限らないと述べた。彼によると、特に各スレッド(メインスレッドとReaderThread)が独自のプロセッサで実行されているため、2つのスレッドが必ずしも静的変数を共有していないため、同じレジスタ/キャッシュ/ etcと1つのCPUを共有していない他を更新しません。 基本的readyに、メインスレッドで更新される可能性はありますが、では更新されない可能性があるReaderThreadため、ReaderThread無限にループします。 彼はまた、プログラムが0またはを印刷することは可能であると主張した42。どの42ように印刷できるか理解していますが、できません0。彼numberは、変数がデフォルト値に設定されている場合にこれが当てはまるだろうと述べました。 静的変数がスレッド間で更新されることが保証されていないのではないかと思ったのですが、これはJavaにとって非常に奇妙な印象を受けます。ready揮発性にすることでこの問題は修正されますか? 彼はこのコードを示しました: public class NoVisibility { private static boolean ready; private static int number; private static class ReaderThread extends Thread { public void run() { while (!ready) Thread.yield(); System.out.println(number); } } public static void main(String[] args) { new ReaderThread().start(); number = 42; ready = true; …

6
静的フィールドはガベージコレクションのために開いていますか?
プログラムのセットアップでのみ使用される架空のユーティリティクラスがあるとします。 class MyUtils { private static MyObject myObject = new MyObject(); /*package*/static boolean doStuff(Params... params) { // do stuff with myObject and params... } } myObjectは、使用されなくなったときにガベージコレクションされますか、それともプログラムの存続期間中存続しますか?

9
メソッドを静的として宣言することの利点は何ですか
私は最近、Eclipseで警告を確認していて、これに遭遇しました: メソッドを静的として宣言できる場合は、コンパイラ警告が表示されます。 [編集]プライベートおよびファイナルに重点を置いたEclipseヘルプ内の正確な引用: 有効にすると、コンパイラーは、プライベートまたはファイナルで、静的メンバーのみを参照するメソッドに対してエラーまたは警告を発行します。 はい、オフにできることはわかっていますが、オンにする理由を知りたいですか? 可能なすべてのメソッドをstaticとして宣言するのが良いのはなぜですか? これにより、パフォーマンスが向上しますか?(モバイルドメイン内) メソッドを静的として指摘すると、インスタンス変数を使用しないため、utilsスタイルのクラスに移動できることを示していると思いますか? 1日の終わりに、これを「無視」するだけにするか、それとも100以上の警告を修正する必要がありますか? コンパイラはとにかくこれらのメソッドをインライン化するだけなので、これはコードを汚す追加のキーワードに過ぎないと思いますか?(最終的にできるすべての変数を宣言するわけではありませんが、できます)。

10
Flaskの静的ファイル-robot.txt、sitemap.xml(mod_wsgi)
Flaskのアプリケーションルートディレクトリに静的ファイルを保存するための巧妙なソリューションはありますか?robots.txtとsitemap.xmlは/にあると予想されるため、私の考えはそれらのルートを作成することでした: @app.route('/sitemap.xml', methods=['GET']) def sitemap(): response = make_response(open('sitemap.xml').read()) response.headers["Content-type"] = "text/plain" return response もっと便利なものがあるはずです:)

4
C#:静的メソッドが複数のスレッドから呼び出された場合はどうなりますか?
私のアプリケーションには、複数のスレッドから同時に呼び出される静的メソッドがあります。データが混同される危険性はありますか? 最初の試みでは、メソッドは静的ではなく、クラスの複数のインスタンスを作成していました。その場合、私のデータはどういうわけか混乱しました。たまにしか発生しないため、これがどのように発生するかはわかりません。まだデバッグ中です。しかし今、メソッドは静的です。今のところ問題はありません。多分それは運だけです。よくわかりません。

12
ヘッダーファイルの変数宣言-静的かどうか
一部#definesをリファクタリングするときに、C ++ヘッダーファイルで次のような宣言に遭遇しました。 static const unsigned int VAL = 42; const unsigned int ANOTHER_VAL = 37; 問題は、静的である場合、どのような違いがあるかです。古典的な#ifndef HEADER #define HEADER #endifトリックのため、ヘッダーを複数含めることはできません(重要な場合)。 静的とVALは、ヘッダーが複数のソースファイルに含まれている場合に、1つのコピーのみが作成されることを意味しますか?
91 c++  c  static 

11
C ++での静的配列と動的配列
C ++の静的配列と動的配列の違いは何ですか? クラスの割り当てを行う必要がありますが、静的配列は使用せず、動的配列のみを使用するように指示されています。私は本とオンラインを調べましたが、理解していないようです。 静的はコンパイル時に作成され、動的は実行時に作成されると思いましたが、これをメモリ割り当てと間違えている可能性があります。 C ++の静的配列と動的配列の違いを説明できますか?

3
staticキーワードの廃止…これ以上?
C ++ではstatic、変換ユニット内でキーワードを使用して、シンボル(変数または関数宣言)の可視性に影響を与えることができます。 n3092では、これは非推奨になりました。 付録D.2 [depr.static] 名前空間スコープでオブジェクトを宣言する場合、staticキーワードの使用は非推奨になりました(3.3.6を参照)。 n3225では、これは削除されました。 私は見つけることができる唯一の記事は、やや非公式です。 ただし、Cとの互換性(およびCプログラムをC ++としてコンパイルする機能)のために、非推奨は煩わしいことを強調しています。ただし、CプログラムをC ++として直接コンパイルすることは、すでに苛立たしい経験になる可能性があるため、検討する必要があるかどうかはわかりません。 なぜ変更されたのか誰か知っていますか?
89 c++  static  c++11  standards 


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