問題タブ [global]

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 投票する
4 に答える
2949 参照

c++ - 同じ名前の C++ 変数、コンテキスト: グローバルおよびプライベート、

次のコードでは、g++ は次のエラーを返します: 1.cpp: In member function void W::test()': 1.cpp:6: error:int F::glob' is private 1.cpp:19: error: within this context

しかし、「プライベート」「グロブ」の代わりに、グローバルに宣言された変数「グロブ」をここで使用すべきではありませんか?

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

c++ - C/C++ パフォーマンス グローバル vs Get/Set メソッド

グローバルが悪いかどうかを尋ねるこの質問を見ました。

その影響について考えてみたところ、場合によっては必要であるという唯一の議論は、パフォーマンス上の理由によるものかもしれません。

しかし、私はそれについてよくわかりません。私の質問は、get/set メソッド呼び出しを使用するよりもグローバルを使用する方が高速でしょうか?

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

c++ - グローバル関数での実装、またはグローバル関数でラップされたクラスでの実装

定義済みの署名に従って、60 個の関数のセットを実装する必要があります。一部のクラスのメンバー関数ではなく、グローバル関数である必要があります。それらを実装するときは、サードパーティが提供する適切に作成された一連のクラスを使用します。

ほとんどの関数の私の実装は非常に短く、約 5 ~ 10 行であり、主にそのサードパーティ クラスへのさまざまなアクセスを処理します。いくつかのより複雑な関数については、すべての複雑なものを処理するいくつかの新しいクラスを作成し、それらを関数でも使用しています。すべての状態情報は、自分とサード パーティのクラスの静的メンバーに格納されるため、グローバル変数を作成する必要はありません。

質問: 60 個のメンバー関数を含む 1 つの大きなクラスを実装し、すべての実装 (現在はグローバル関数内) をそこで行う方がよいでしょうか? そして、私が書かなければならない各関数は、クラス内の対応するメンバー関数を呼び出すだけです。

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

c# - Windows Mobile アプリケーションでクリックされた機能を知るにはどうすればよいですか?

Windows Mobile アプリケーションでクリックされた機能 (メニュー項目、ボタンなど) を知るにはどうすればよいですか?

Windows グローバル フックと同じように、ユーザーのクリックをグローバルにリッスンするアプリを作成する必要があり、ユーザーがクリックしたすべてのアプリケーションのどの部分/コントロールを知る必要があります。

ティア!

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

c++ - C++ 関数を呼び出すたびに変数が再初期化されないようにするにはどうすればよいですか?

この変数の初期化の問題を解決するにはどうすればよいですか? それらを一度だけ初期化する方法を理解できれば...

私の問題は...ある関数から別の関数にデータを渡す必要があることです。グローバル クラス オブジェクトを作成する方法を理解できると思っていましたが、できませんでした。そのため、引数を別の関数に渡してから、それらを独自の配列に復元し、すべての数値配列と文字列配列を完全にコピーするまでそれを続けることができると考えました。まあ...はい、createReport()のこの部分を除いて機能します:

何が起こるかというと、私はとても疲れていてそれを逃したと思います。その関数を呼び出すたびに、同じ変数が再度初期化されます。変数を別の変数に入れると、デフォルト値に再初期化されます。

初期化後に1にカウントされるカウンター変数を使用してみましたが、1になった後は再度初期化されませんでした。いいえ、if ステートメントの範囲外で変数が初期化されなかったため、機能しませんでした。次に、一度発生した後に初期化をスキップする GOTO ステートメントを試しました。いいえ、最初の初期化フェーズとコンパイルなしで何か問題が発生しました。

どうすればできるかを理解する必要があります

  1. これらの変数が再割り当てまたは初期化されないようにして、値を維持できるようにします。または
  2. グローバルクラスオブジェクトを作成する方法を見つけます(そして、はい、複数のソースファイルで extern クラスを試しました。うまくいかず、多くのエラーが発生しました)

私はまだプログラミングが得意ではありません。しかし、私はこの作品に何時間も何時間も取り組んでおり、常に試行錯誤しながら一晩中起きていたことを保証します. このコードは私にとってかなり高度なので、私は自分自身を本当に誇りに思っています。私はGoogleのすべてのチュートリアルを見てきましたが、運が悪かったので、あなたたちは私の最後の希望です!! もう一度ごめんなさい。私はこれがばかげた質問であることを知っています...

最後に簡単な質問です。グローバル クラス オブジェクトはどのように作成しますか? 例えば

プログラム全体で MyClassObject を使用するにはどうすればよいですか?

私がそれを使用できる唯一の方法は、使用するすべての関数で毎回新しいオブジェクトを作成することです。つまり、クラス内に保存されているすべてのデータが失われるということですか?

ただし、グローバルオブジェクトを持つことは良い考えではないことを読みました。それらを使用する必要はありませんが、実際に理解できる代替手段についての手がかりがありません。

他の批評やヒントは大歓迎です。私はこのことが大好きで、質問をする人があまりいません。

0 投票する
6 に答える
1459 参照

.net - .NET でのグローバルとシングルトン

ここでは非常に一般的な状況があります。そして、何年もの間、私がやっていることは業界標準によって正しいかどうかわかりませんでした.データベースに接続するアプリケーションを考えてみてください。起動時またはアプリケーションの起動時にデータベースが参照されます。

その接続文字列をアプリのスコープ内のどこかに保存する必要があります。私が見た最も一般的な方法は、接続文字列を保存するための get/set メソッドを持つモジュールまたはグローバル クラスです。もう 1 つの方法は、Singleton を使用することです。どちらのオプションでも、DAL は必要に応じて GetConnectionString メソッドを介して接続文字列にアクセスできます。

これを行うより良い方法はありますか?

更新:私は構成ファイルを持っていません。たとえ持っていたとしても、アプリケーションインスタンスの存続期間中に接続文字列を一度読み取る必要があります。「任意のクラスに注入する」部分について詳しく説明できますか

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

php - クラス内のすべての関数でグローバル変数にアクセスできるようにする

グローバル スコープに という名前の変数があります${SYSTEM}。ここで、SYSTEM は定義済みの定数です。global ${SYSTEM};この変数にアクセスする必要がある関数を持つクラスがたくさんありますが、毎回宣言するのが面倒です。

クラス変数を宣言しようとしましたpublic ${SYSTEM} = $GLOBALS[SYSTEM];が、この方法でクラス変数を宣言し、正常に動作するように見える別のクラスがあるため、奇妙な構文エラーが発生します。私が考えることができる唯一のことは、定数が認識されていないということです。

私はコンストラクターでこれをやってのけることができましたが、それに頼る前にもっと簡単な解決策を探しています。


編集 グローバル ${SYSTEM} 変数は、他の多くの子配列を含む配列です。残念ながら、コンストラクターを使用して回避する方法はないようです...

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

php - グローバルを使用せずに PHP の関数間で変数を共有する

memcache サーバーと対話するためのクラスがあります。データを挿入、削除、取得するためのさまざまな機能があります。もともと各関数は を呼び出していましたmemcache_connect()が、これは不要でした。たとえば、次のようになります。

3 つの memcache 接続を作成します。クラスのコンストラクトを作成することで、これを回避しました。

次に$this->mem、リソースが必要な場所で使用するため、3 つの関数のそれぞれが同じmemcache_connectリソースを使用します。

これは問題ありませんが、他のクラス内でクラスを呼び出すと、たとえば次のようになります。

memcache_connect1 つしか必要としないのに、まだ 2 つの呼び出しを行っています。

グローバルでこれを行うことができますが、必要がない場合は使用しないことをお勧めします。

グローバルの実装例:

そうすると、クラスが何回呼び出されても、 への呼び出しは 1 回だけになりますmemcache_connect

これを行う方法はありますか、それともグローバルを使用する必要がありますか?