問題タブ [member-functions]
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.
class - メンバー関数をプログラミングするときのより良い方法は何ですか?
メンバー関数が、それらが属するクラスの内部とクラスの外部の両方でプログラムされ、クラス内に関数プロトタイプがあるのを見てきました。私は最初の方法だけを使ってプログラムしたことがありますが、他の方法を使用する方が良い方法なのか、それとも単に個人的な好みなのか疑問に思っていましたか?
c++ - mem_fun が失敗し、pthread とクラス ptr
pthread
パラメータとして取り込んで、問題を解決するためにvoid *(*start_routine)(void* userPtr)
使用できることを望んでいましたが、できません。std::mem_fun
void * threadFunc()
関数を使用してuserPtr
、クラスとして機能させたいと思います(userPtr->threadFunc())
。私が使用できるのと同様の機能はありstd::mem_func
ますか?
c++ - C++ でループ内の値の変更と比較するのは良い形式ですか?
同じプログラムに関する私の最近の投稿をご覧になった方もいらっしゃると思います。私はそれに問題を抱え続けています。繰り返しますが、まだ学習中、あまり進んでいない、ポインターをよく理解していない、クラスを受講していない、OOP の概念をまったく理解していないなどです。ベクター。少なくとも、それが機能することを願っています。教えて:
マージソート関数のマージ部分を書き直して...まあ、それが機能するようにしました。実際、このコードについていくつか質問があります。
- for ループが次のパスでステートメントを変更する可能性がある場合、最後の 2 つの if ステートメントを std::vector::iterators it && iter と比較するのは良い形式ですか?
- このループの最後のパスで iter と it の値が変更され、コードが台無しになりますか? *it と *iter の比較の前に、最後の if ステートメントを配置しますか?
- end() メンバー関数は、それを呼び出しているものの最後の値を参照していますか? 何とかそれを超えて伸びそうです。
編集: 明日すべての返信に返信しますので、詳細をお知りになりたい場合はその時点で確認してください。真夜中過ぎです。おやすみ。
javascript - そのオブジェクトの関数内のオブジェクトのすべてのメンバーを反復します
私がこれを行うことができれば、非常に便利です:
しかし、これは私が望むことをしていないようです。ループは最終的にその親関数をループする必要があることに気付きました (これも驚くことではありませんが、起こりません)。
2 番目の関数の「this」が最初の関数ではなく 2 番目の関数を参照しているため、これは不可能ですか? それとも、キーワード 'this' は public メンバーの宣言演算子であり、外部オブジェクトへの参照ではありませんか?
この方法で欲しいものを手に入れることは不可能だと思いますが、この動作を達成するためにできる別の方法はありますか?
design-by-contract - 契約による設計を行う場合、メンバー関数の不変条件に加えて、前提条件と事後条件が必要ですか?
DbCメソッドでは、関数に事前条件と事後条件がついていることがわかりました。
私が疑問に思っているのは、それがメンバー関数にも当てはまるかどうかです。
たとえば、各パブリック関数の最初と最後で不変条件を使用すると仮定すると、メンバー関数は次のようになります。
編集:(私の例をクリーンアップ)
グローバル/ジェネリック関数のみで事前条件と事後条件を使用し、クラス内で不変条件を使用しても問題ありませんか?
これはやり過ぎのように思えますが、私の例が悪いのかもしれません。
編集:
事後条件は、不変条件のサブセットをチェックしているだけではありませんか?
上記では、 http://www.digitalmars.com/ctg/contract.htmlの指示に従っています。「クラス コンストラクターが完了すると、クラス デストラクタの開始時、public の前に不変式がチェックされます。メンバーが実行され、パブリック関数が終了した後。」
ありがとう。
c++ - C ++:無関係な構造内のクラスメンバー関数へのポインター
私はこれをどうやって行うかについてオンラインで少し読んだことがあり、正しくやっていると思います...私の目標は、クラスのメンバー関数へのポインターを含む構造体オブジェクトの配列を持つことです。
これが私がこれまでに持っているものです...
次に、引数の有無にかかわらず(stuff[0]。*handler)()を使用して関数を呼び出すと(実際には引数リストを使用するつもりです)、「handler」を取得します:宣言されていない識別子...
私は何かが欠けている必要があります、ただ何がわからないのです。
c++ - 一時的なものを含む演算子のオーバーロード解決の順序
次の最小限の例を考えてみましょう。
g++とVisualC++の両方での出力は次のとおりです。
一時オブジェクトに書き込むバージョンは、free演算子ではなくmyostream(cout)
、member演算子を優先するように見えます。オブジェクトに名前があるかどうかに違いがあるようです。ostream::operator<<(void *)
operator<<(ostream &, char *)
なぜこれが起こるのですか?そして、どうすればこの動作を防ぐことができますか?
編集:なぜそれが起こるのかは、さまざまな答えから明らかになりました。これを防ぐ方法については、次のことが魅力的です。
ただし、これにより、あらゆる種類のあいまいさが生じます。
php - PHPのメンバー関数のデフォルトの継承型は何ですか?
count
パブリック、プロテクト、またはプライベートのタイプは何ですか?