問題タブ [pointer-to-member]
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.
c++ - メンバーへのポインタ
次のコードでは、次のステートメントを検討してください:-"int B :: * bpm;"
*デザイン/コーディングの練習を改善するために、デザイン/コードで「メンバーへのポインタ」を使用する場合。****
c++ - メンバーポインタ関数のリスト
私がクラスを持っているとしましょう:
doSomethingは、Aのインスタンスの内部状態に明示的に依存する何かを実行します。
今、私はタイプAのものがたくさんある状況にありますが、それらの厳密なサブセットからdoSomethingを呼び出したいだけなので、それらをリストに残したいと思います。特に、私が本当にやりたいのは、リスト内の個々のdoSomethings()へのポインターを固定することです。
できますか? 私はそれを次のように宣言しますか?
私はこのエントリを読みました、それは理にかなっています、そして私が必要なら私はそのルートに行きます。
c++ - const クラス メンバーの問題への c++ ポインター
C++ クラスでこの問題が発生しています。myBar
オブジェクトへのポインタを取得して に格納したいと思いますquxBar
。理由は を使って値を確認できるようにしたいのですquxBar->getX()
が、誤って Qux から変更してしまわないようにしたいので を使ってみBar const*
ました。
残念ながらquxBar->setX(100)
、コンパイルエラーなしで実行できるため、機能しません。
おそらく私のアプローチは完全に間違っていますが、現在の「スキル」を使用しています:)修正方法がわかりません。
ヘルプと提案をお寄せいただきありがとうございます。
c++ - Qt4C++ポインタの定数QListへのポインタ
constへのポインタでスタックしましたQList of pointers to Foo
。オブジェクトからにmyListOfFoo
ポインタを渡します。クラス外での変更を防ぐために、constへのポインターを使用します。問題は、での実行を変更できることです。Bar
Qux
Bar
ID_
setID
Qux::test()
上記のコードの結果は次のとおりです。
そして私が達成しようとしているのは:
QList<Foo>
代わりに使用してもそのような問題はありませんが、コードでQList<Foo*>
使用する必要があります。QList<Foo*>
手伝ってくれてありがとう。
c++ - テンプレート引数のメンバーへのポインタをダウンキャストできないのはなぜですか?
ベースメンバーへのポインターを作成すると、通常は派生メンバーへのポインターに変換できますが、最初のテンプレート引数が2番目の引数に影響を与える以下のBuzzのようなテンプレート内で使用する場合は変換できません。私はコンパイラのバグと戦っていますか、それとも標準はこれが機能しないことを本当に義務付けていますか?
c++ - C++ 演算子「アドレス」と「スコープ解決」の優先順位についての質問
こんにちは、次のコードにコンパイラ エラーがあります (エラーは Microsoft Visual Studio 2008 のものです)。
このコードにはエラーがありません:
::
演算子の優先順位に関する私の知識に基づいて、2 つのスニペットは同等に思え&
ます。 )
しかし、それらは異なります...「データメンバーへのポインター」に関連するものだと思いますが、演算子の優先順位にどのように適合するかわかりません。
説明はありますか?
c++ - メンバーへのC++ポインタ
同じ階層に同じ名前とタイプのメンバーを持つ2つのクラスがある場合、基本クラスの変数へのメンバーポインターを作成する「正しい」方法は何ですか。元。
私のコンパイラ(LLVM GCC)では、これは私が期待するように2,1,1を出力します。これは私の2つの質問につながります。
C ++標準に関しては、上記の3つの実装すべてが「安全」ですか?
もしそうなら、主流のコンパイラはこれらのいずれかと非互換性がありますか?
c++ - 次のコードは c++ で何を意味しますか?
とはどういう&Dog::a
意味ですか?
c++ - メンバー関数へのポインターのテンプレート型推論
次の質問で、モーフィアスが提示した問題と非常によく似た問題があります。
Richard Corden によって提案されたソリューションでは、オーバーロード間で区別するために、ユーザーが関数パラメーターの型を明示的に指定する必要があります。ただし、このソリューションは、同じ型のさまざまな数の引数を持つオーバーロードでは機能しないようです。
この例を考えてみましょう(元の質問から派生したもの):
GNU G++ 3.4.5 と MSVC 2008 は上記のコードをコンパイルせず、どちらも同様のエラー メッセージを表示します。
ポインタをまったく同じ型の変数に代入する(例void (GApp::*tmp)(double) = &GApp::foo;
:connect((void (GApp::*)(double))(&GApp::foo));
ただし、私は最初の解決策を好み、それが機能しない理由を知りたいです。
前もって感謝します!
c++ - メンバー関数ポインター - アドレスのみ?
http://www.codeproject.com/KB/cpp/fastdelegate2.aspx
上記の記事の導入部の 2 番目の段落では、次のように述べています。.. わかりませんか?実際にオブジェクトとメンバー関数をコピーして保存する必要がありますか? メンバー関数のアドレスを格納するだけではありませんか?