メソッド宣言の後の const 修飾子の意味 - ページ 3

削除済み  
意図的にそのような構成にすることも珍しくありません。
const TYPE1 Method( const TYPE2 Input ) const;
また、オブジェクトの内部データを変更するだけでなく、アクセスもしない場合は、すぐにメソッドをstaticと記述します。私にとっては、constとstaticを使うことで、自分のコードの可読性と理解度が大きく向上します。また、実装の初期段階で自分のアーキテクチャのバグや不具合を発見できることも多いですね。

私はすべて自分のためだけに書いています。どうせ変えてはいけないデータも変えないことになりそうですし。しかし、自分の愚かさから自分を守りたいという思いから、私はOOPアーキテクチャを、アクセスしなければならないものだけを変更できるような形で固定しているのです。あとは、そうではない。そしてここで、const+継承型が大きな助けとなる。おすすめです。
 
Dmitry Fedoseev:

これは、クリエイターから一般ユーザーへ与えられる部分なのかもしれませんね。EAのstart関数やBid,Askの変数とか。全部自分でやるとなると、わざわざいろいろな制約を受ける意味がない。

残念ながら、互換性のためにこのバラストをすべて引きずらなければならないのです。一方、小さなCやC++のコードは、非常に迅速にMQLに移植されます(これは何度も確認しました)。
 

面白い傾向があって、何も知らない人がプラスアルファの怪しさを語るケースが圧倒的に多いんです。ほとんどがシャープの人、典型的ですね。

ええ、もちろん、棒のようにまっすぐなものを作る必要があるときは、シャープのほうが便利でいいですよね(笑)。

 
zaskok3:
意図的にそのような構成を使うことは、決して珍しいことではありません。
内部オブジェクトのデータを変更したり、アクセスしたりしない場合は、staticメソッドとして指定します。私にとっては、constとstaticを使うことで、自分のコードの可読性と理解度が大きく向上します。また、実装の早い段階で自社のアーキテクチャのバグや不具合を発見できることも多いのです。
...

ああ、みんな。MetaQuotesに慈悲を。プログラマーの第一の戒め、それは「staticを使わない」ことです。第二の戒め:静止画を使いたい場合は、第一の点を参照:)

あるスレッドで静的データを変更し、別のスレッドでそれを読み込むと、マルチスレッドプログラミングの不思議が現れ、この静的データを悪い夢のように思い出すことができる。

しかし、MQLのユーザーにとっては良いことです。マルチスレッドがないため、ユーザーのスレッドが読み終える前にメソッドが静的データを変更することはありません。

 
Vasiliy Sokolov:

プログラマの第一の戒め、それは「staticを使わない」ことです。第二の戒め:静止画を使いたい場合は、第一の点を参照:)

あるスレッドで静的データを変更し、別のスレッドでそれを読み込むと、マルチスレッドプログラミングの不思議が現れ、後でこの静的データを悪い夢として思い出すことができる。

改めて、話し合いがうまくいかないことを確信しました )
 
Комбинатор:

面白い傾向があって、何も知らない人がプラスアルファの怪しさを語るケースが圧倒的に多いんです。ほとんどがシャープで、典型的なものです。

ええ、もちろん、棒のようにまっすぐなものを作る必要があるときは、シャープのほうが便利でいいですよね(笑)。

クラシカルmasa bプラス:「猫が嫌いなんですか?調理法を知らないだけ」。

いや、否定はしません。他の言語にはないC++は、開発標準に合わせたチューニングが可能です。しかし、この基準に達するまでは、本当に優秀なC++プログラマーになるか、あきらめて1CでERP-チケットを作るか、そんな熊手で殺されてしまうかもしれないのです。

 
Vasiliy Sokolov:

古典的なB級グルメの仮面:「猫が嫌いなんですか?調理法を知らないだけ」。

そういうものなんだ)

シャープに恨みはない、今、ボットもシャープで書いている、便利だ、速い。

ただ、それに値しないもの、しかも必ずしも誰も使うことを強制されていないものに対して、泥を塗るようなことをされるのは嫌なんです。

それは短所も長所も全般的に言えることです。

 
Комбинатор:

そういうものなんだ)

シャープには何の恨みもありませんし、今はそれでボットを書いていますし、便利で速いです。

ただ、それに値しないもの、しかも必ずしも誰も使うことを強制されていないものに、泥を塗るのは好きではありません。

これはコンストでもプロでも一般的に言えることです。

よし、世界だ。ただ、C++の議論はいつも大騒ぎに発展してしまうんです。

Z.U.誰かconstの何が問題なのか説明してくれたらありがたい。本当に理解できないんです。

削除済み  
Vasiliy Sokolov:

アレクセイは例のものを書きました。定数メソッドは、そのクラスのメンバを変更することはできません。

void bar(X& obj) const 
    {
        obj._x = 42; // OK! obj передается по ссылке и не имеет модификатора const
        _x = 42; // ERROR!
    }

何か見落としているのかもしれませんが...をご覧ください。Alexeyは、定数メソッド barがそのクラスobjのオブジェクトを変更すると書きました。何が問題なのか?

はい、objは参照渡しですが、メソッドはまだ定数になっていません...。

 
Alexey Kozitsyn:

何か見落としているのかもしれませんが...をご覧ください。Alexeyは、定数メソッド barがそのクラスobjのオブジェクトを変更すると書きました。何が問題なのか?

はい、objは参照渡しですが、それでもメソッドは一定のままです...。

彼のものではなく、全く余所行きのもので、型だけは同じです。