問題タブ [class-members]
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++ - 参照データメンバーを持つクラスのデフォルトのコンストラクター?
デフォルトのコンストラクターで ofMyClassを作成する必要があるクラスがあります。ただし、このクラスには、コンストラクターで初期化する必要がある (型の) 参照であるデータ メンバーがあり、デフォルトのコンストラクターでこれを行うことはできません。std::arraystd::vectorSomething
これをどのように解決すればよいですか?
c++ - クラスメンバー関数は返されません
私は次のコードを持っています:
BOOK は、いくつかのメンバー変数を持つ単なる構造体です。TABLE は、STL vector のように機能する struct テンプレートです (vector の使用は許可されていないため、独自のテンプレートを作成する必要がありました。現時点では static array を使用していますT ar[100])。
問題は、本が追加されたというメッセージが表示され、show_item 関数がすべてのデータを出力することですが、「戻る」メッセージが表示されないことです。
show_table関数が終了に到達するようにブレークポイントを設定しようとし}ましたが、プログラムは「戻り」メッセージに到達しません。
このコードの何が問題なのですか? MinGW で 32 ビット QTCreator を使用しています。それが助けになるなら、私のOSは64ビットのWin8.1です...
c# - C# クラス メンバー関数を C++ コールバックとして使用する
PortAudio (PA) の C# ラッパーとして PortAudioSharp を使用しています。ただし、質問はより一般的であるため、わかりやすくするためにコードを少し削除します。
PA には、新しいデータが必要なときに呼び出されるコールバックがあります。したがって、ストリームを開くには、次の関数を使用します。
私は今、そのクラスのバッファを満たすデコーダを実行するクラスを持っています。PA がそのクラスから関数をコールバックして、新しいデータを取得するようにします。コードはこれです:
これはこれまでのところうまくいくようです。問題: 複数のストリーム (1 つが一時停止、1 つが実行中) がある場合、間違ったストリームのコールバックが呼び出されることがあります。デリゲートが問題になる可能性があると思います。
質問:
1) 上記は正しいですか? メンバー関数をデリゲートとして C++ に渡すことはできますか?
2) これはどのように機能しますか? C# ではなく C++ の場合は、C 迂回関数を作成する必要があります。これは、userData ポインターをクラスに変換し、クラス コールバックを呼び出します (((CFoo*) userData)->_ProcessNewData など)。 「魔法」なので、正しいインスタンスの関数が呼び出されますか?
spring - spring mvc の値ではなく、クラス モデルの属性名にアクセスする
私はSpring 2.5フレームワークを使用しており、一点にこだわっています。たとえば、Person というクラス (モデル) があります。
Controller で Person クラスの属性名にアクセスする必要があります。たとえば、私は
名前の値ではありません。つまり、情報ジョンを名前として使用したくありません。名前の単語を使用したいのです。値ではなくコントローラーの属性名にアクセスするにはどうすればよいですか
c++ - コンストラクターを持たないクラスの場合、C++11 で自動的に生成されたクラス メンバー関数
C++11 では、次の一般的な形式の構造体を定義します。
MyStructデフォルトのコンストラクターが削除済みとしてマークされているため、タイプのオブジェクトを作成することはできません。メソッドでさえ、myFuncクラスのインスタンスを作成できません。MyStruct::myFuncただし、構造体はそのまま使用publicでき、外部から呼び出すことができます。
私の質問は次のとおりです: type のオブジェクトを作成することはできないためMyStruct、コンパイラは、コピー コンストラクタ、アドレス演算子、またはデストラクタのコードを作成することさえ気にしますか?
コメントとして: 私の実際のコードの場合、部分的なテンプレート関数の特殊化をエミュレートするために部分的なテンプレート クラスの特殊化を使用する必要があるため、実際には静的クラス メンバー関数に関して機能を実装する必要があります。どうすればクラスをできるだけスリムに保つことができるのでしょうか。
編集:@Praetorianのコメントと回答に従って、自動生成されたアドレス演算子に関する発言を削除しました。
arrays - クラスメンバーとしての配列
送信メッセージ用の動的バッファを設計しています。データ構造は、バイト配列バッファーをメンバーとして持つノードのキューの形式をとります。残念ながら、VBA では、配列をクラスのパブリック メンバーにすることはできません。
たとえば、これはノーノーであり、コンパイルされません。
次のエラーが表示されます:「定数、固定長文字列、配列、ユーザー定義型、および Declare ステートメントは、オブジェクト モジュールのパブリック メンバーとして許可されていません」
まあ、それでいいです。パブリック プロパティ アクセサーを持つプライベート メンバーにします...
...そして、モジュールでいくつかのテストを行い、動作することを確認します:
テスト #1 は問題なく動作します。ただし、テスト #2 は中断され、Buffer強調表示され、エラー メッセージは「引数の数が間違っているか、プロパティの割り当てが無効です」です。
テスト #2 が機能するようになりました。GSerg は、Property Get Buffer()を正しく呼び出し、バッファ内の特定のインデックスも参照するには、 2組の括弧が必要であると指摘しています。oBuffer.Buffer()(2)
テスト 3 は失敗します。元の値 3 がイミディエイト ウィンドウに出力されます。Public Property Get Buffer()GSerg はコメントで、は実際のクラス メンバー配列ではなくコピーのみを返すため、変更が失われると指摘しました。
この 3 番目の問題を解決して、クラス メンバー配列が期待どおりに機能するようにするにはどうすればよいでしょうか?
(一般的な質問は、「VBA では、配列をクラスのパブリック メンバーにすることはできません。これを回避して、あたかもすべての実用的な目的のためであるかのように動作するクラスの配列メンバーを取得するにはどうすればよいでしょうか: # 1 配列を代入、#2 配列から値を取得、#3 配列に値を代入、#4 への呼び出しで配列を直接使用CopyMemory(#3 と #4 はほぼ同等)?)"
java - 2 つのクラス メンバーの宣言と初期化の違い
次の種類のクラス メンバーの宣言と初期化の正確な違いは何ですか?
オプション1:
オプション 2: