問題タブ [dereference]
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++ - オブジェクトへのポインターのベクトルでの逆参照
ベクター コンテナーに保持されているポインターが指すオブジェクト (ベクターと呼ばれる) にアクセスしようとしていますが、アクセスできないようです。
重要なコード スニペットを次に示します。
はテンプレートVector
クラスで、ベクトルへのrandvec<T>()
参照を返します。save()
ベクトルは、ベクトルstatic std::vector<Element*> vectors;
の基本クラスである Element.h で定義されます。
私はこれについてすべて間違っていますか?メイン クラスへのポインターのベクトルを使用して、基本クラスの静的データ メンバーに派生クラスのすべての要素を含めようとしています。
main() からの私の出力は、何が起こっているかを教えてくれるかもしれません – 私はポインタを取得します0x1001000a0
。ただし、そのポインターを逆参照しようとすると、次のエラーが発生します。
このポインターを逆参照できないのはなぜですか?
php - 同じ行でexplode()を使用するときに配列インデックスにアクセスする方法は?
これじゃ頭が回らない…
たとえば、次のように全体を分解します。
$extract = expand('tra-la-la', $big_sourse);
次に、インデックス 1 の値を取得します。
$finish = $extract[1];
私の質問は、いわば、それを一度に取得する方法です。これに似たもの:
$finish = expand('tra-la-la', $big_sourse)[1]; // 動作しません
次のようなものは魅力のように機能します。
$finish = end(explode('tra-la-la', $big_sourse));
// また
$finish = array_shift(explode('tra-la-la', $big_sourse));
しかし、値が中間のどこかにある場合はどうなるでしょうか?
c++ - ベクトルの要素へのポインタ
ベクトル内の要素、たとえば要素 2 を指しているポインタがある場合、その要素は同じベクトルの要素 4 と交換されます。ポインターは現在、要素 2 を指しているのか、要素 4 を指しているのか、またはどちらも指していないのか? 例:
ベクトル a は [1,2,3,4,5] に
等しい 要素 2 (この場合は 3) を指すポインタを作成します
要素 2 と 4 を入れ替えます
ベクトル a は [1,2,5,4 になりました、3]
ベクトルはどこを指していますか?
c++ - C ++ noobの質問:ポインターとオーバーロード[]
私はしばらくこれを見つめていましたが、それほど遠くはありません。FruitBasketFactory、FruitBasket、Fruitは、私が使用しているAPIの3つのクラスです。私の目標は、フルーツバスケットを作り、それから果物を回収することです。FruitBasketFactory.hppによると:
そしてFruitBasket.hppで
これが私の最初のコードです:
しかし、ここでエラー「エラーC2248:'FruitBasket :: FruitBasket':クラス'FruitBasket'で宣言されたプライベートメンバーにアクセスできません」が表示されます。これはうまくいかないのですか?
だから、結構です...私は自分のコードを作り直します。
そして失敗: "エラーC2248:'Fruit :: Fruit':クラス'Fruit'で宣言されたプライベートメンバーにアクセスできません"
だから、別の手直し
このコードは見た目はおかしなものですが、実際には機能します。しかし、なぜ私は私が最も明白なことであると思うことをすることができますか?
解像度:
コピーコンストラクターは、FruitBasketとFruitの両方で実際にブロックされていました。次のように参照を作成することで、それらを呼び出すことを回避できました。
c - printf( "%s" , ptr ) が void* を逆参照できるのはなぜですか?
逆参照について話すとき、その*
中で を使用する必要がありますか? 他の方法でポインターの指示対象にアクセスする場合、次のように、ポインターを逆参照していると見なすことができますか。
それが私の質問の最初の部分です。
逆参照の例である場合printf( "%s" , ptr )
は、私の質問の次の部分にも親切に答えてください。
K&R 言う
「void へのポインター」は、任意の型のポインターを保持するために使用されますが、それ自体を逆参照することはできません
したがって、
コンパイルしない、コンパイラがエラーを出す
関数 'main' 内: 警告: 'void *' ポインターの逆参照エラー: 無効な void 式の使用
しかし、私たちが使用する場合
コンパイルして動作します。これは、void ポインターを逆参照できることを意味します。参照しているオブジェクト ポインターを取得しました。
その場合、上記の K&R の引用はこの文脈で何を意味するのでしょうか?
御時間ありがとうございます。
php - mysqli ステートメント: fetch() 結果の配列
mysqli 拡張機能を使用して、結果をオブジェクトにバインドします。
を呼び出すたびに、$stmt->fetch()
参照となった $Item のプロパティが上書きされます。オブジェクトを単純に複製すると、これらの参照は残り、両方のインスタンスが同時に変更されます。
したがって、それらを逆参照する方法があるはずなので、clone
参照されるデータのセットではなく、実際にコピーを作成します。オブジェクトの配列として格納されるように、すべてのデータを取得する簡単で柔軟な方法はありますか? 主な問題は、参照を削除する方法です: &string
.
私が見る唯一の解決策は、別のオブジェクトをインスタンス化し、すべてのプロパティを手動でコピーすることです。
しかし、これはやり過ぎのようです: すべてのプロパティ (実際には参照されなかったいくつかの余分なプロパティを含む) がコピーされますが、これは必要ではありません。
c++ - C ++初心者の質問:逆参照と乗算
C++に入るだけです。*
変数の間接参照を示すために乗算()の記号が使用されているのを見ると、常に軌道から外れています。
例えば:
unsigned char * pixels = vidgrabber.getPixels();
これは他の人を捨てますか?これを回避するためのヒントは何ですか?
ありがとうございました。
ps私は別のかなり単純な質問がありますが、答えられませんでした:(ここ:初心者の質問:その値だけでなく、値に加算/減算してください!そしてお時間をいただきありがとうございます!
overloading - 間接参照演算子のオーバーロード
私はC++を初めて使用し、逆参照演算子のオーバーロードについて質問があります。アプリケーションで使用されるメモリ内オブジェクトストアを構築しています。データストアはアプリケーションのメモリスペースにマップされ、アプリケーションは間接参照演算子を使用してオブジェクトを直接読み取り/変更できます。以下に説明するインターフェースを提供する予定です
演算子のオーバーロード関数には、オブジェクトが読み取られているのか書き込まれているのかを知る方法がありますか?提案は大歓迎です。
lisp - Common lispでリストを逆参照する方法はありますか?
lispでリストを逆参照する方法はありますか?
2つの文字列を比較しようとしていますが、1つはリストにあります。
c++ - *このポインタと引数のマッチングを適切に使用する方法とタイミングは?
私が同僚によって書かれたコードを通り抜けるとき、特定の場所で、彼らは以下を使用します:
実際、*このポインタの優れた使用法についてはよくわかりません... :(
引数の一致に関する別の質問:
実際、どちらの場合も目的の操作を実行していますが、それは単にコードをより複雑に見せるための方法ですか?
上記の2つの質問に対するあなたの推奨事項は何ですか?それらを使用する適切な時期とその理由はいつですか?