MQL4でシングルトンパターンを実装することは可能ですか? - ページ 8

 
ALXIMIKS:

カプセル化のことを忘れていました。そして、それは削除することができます。また、ここには定数ポインタがありません)。とにかく、シングルトンはベストなパターンではありません。

でも、少なくとも素敵なテンプレートがあります。おそらく夢でしかないような授業に。


 
Scriptong:
静的なクラスメンバについて話していたのです。それに、私の例では、m_aはプライベートメンバーです。そして、そのようなクラスメンバーは、そのクラスのインスタンスからのみアクセスすることができます。そのため、この変数の値は、クラスのインスタンスの内部を除いて、コードのどこでも変更することができません。それは、将来起こりうる多くのバグを排除した安全なコードを書くということです。


まあ、私はそれが静的な相対的な変更されます削除し、そうでなければ考えて公開を置く - クラスの中から - 何も?

しかし、クラスのメンバを静的に宣言できないと、このデータをプログラム内でグローバルに宣言 する必要が出てくる。

という話題が出たままでした。

 
sergeev:

mqlのかっこよさをアピールしているのです。

言葉尻をとらえる

わざわざ「勇み足ドキュメント」を読む必要はなさそうです。すべてが間違っているからです。そして、数個上の書き込みのように「頭のいい人」が出てきて、議論を始める。そして、その状況は、とても気配りができているということです。特定の種類のデータについて 書かれていると読めば、そのように受け取ります。もし、それが欠点であるなら、私はそれを認めるべきでした。
 
ALXIMIKS:

誰かがシングルトンについて叫んでいた

テンプレートをクラスや明示的なパラメータ設定に拡張する予定はありますか?そうでなければ、私を責めて、私が多くを望みすぎていると言っているのです。

追伸:Singletonの 中でSomeClassクラスを 宣言 する方が正しいのですが(そう すればSomeClassのインスタンスは一つしか作れない)、正しくはないですが、より分かり やすいですね。


見たことがあるものばかりです。具体的にどのように自分の構造に当てはめればいいのか悩んでいました。どこかのソースからコピーしたものを見るだけでなくそれもできる)

そして、一般的には、イゴールの アドバイスで、これはおそらく私の役には立たないだろうと理解したのです。だから、このパターンの話はもうやめよう。また、C++のものとは異なるダサいドキュメントについては、明らかにその通りです。でも、やはり、どうしようもないんです。

とりあえず最低限のことは書いておかないとね。代替品ができるまで。

 

拝啓、この投稿のどこがいけなかったのでしょうか?

ALXIMIKS 03.09.2014 15:34 #
ホズ

もし、クラスや構造体の変数がプログラムの実行中に値を失わないのであれば、なぜここでstaticと宣言されているのでしょうか?

パブリックセクションにあるのだから、構造上そう言えるのでは...。


鈍感なのか、鈍感なのか、ぶっきらぼうですみません、白黒で書いてありますね。

例えば、テキストを解析 するためのCParserクラスが あり、処理した単語や文字の総数を 数える必要が あります。 必要なクラスのメンバを static宣言して グローバルに初期化 すれば十分 です。そうすれば、クラスのすべてのインスタンスは 作業時に共通の単語や文字のカウンタを使用 するようになります。

言及があるところでは

クラスや構造体の変数が実行時に値を失う

OOPの原則を守り、グローバル変数を作らず、静的なクラスメンバの助けを借りて、いくつかの単語の数を数えることができると書かれています。

それ(静的クラスメンバ)は単一のインスタンスとして作成され、与えられたクラスの作成されたオブジェクトの数に依存しない。

 

構造とか階級とか、自分で作った問題に対してのわけのわからない攻撃はどうなんだろう。

は、OOPとストレージの持続時間の基本を理解していないことを懸念して、一般的に変数のプロパティのアセンブリの概念として、?

 
ALXIMIKS:

拝啓、この記事のどこがいけなかったのでしょうか?

読めないなら、それはあなたの問題です。以下は、私が質問した内容の引用です。もし私がどこかでスペルを間違えたり、慌てて間違ったことを書いたりしたら、それはあなたのような「賢い人」がベラベラとしゃべるからです。もしあなたが読み方を知っているなら、ここに特に無知な人向けの記事へのパーマリンクがありますhttps://www.mql5.com/ru/forum/152923/page6#987432

 
投稿の何がいけなかったのか ?読めない、読める人は質問に答えてください)
 
struct A{
   static struct B{
      int x;
      int y;
   }Single;
};


void OnStart()
{
        A::Single.x = 5;
        Alert(A::Single.x);
}
 

スタティックとクラスでスタティックの挙動が 異なることを2日で理解しなかったのか?

の構造は、cから引用し、継承の面で少しばかり汲み上げたもののようです。

授業に関しては、本格的なものです。

このため、構造体の中にスタティック変数のための領域を確保する必要はありません。

struct A{
   static  int x;
};

が、授業は予約しないとできない。

class B{
public:
   static  int x;
};
int B::x = 0;