問題タブ [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.

0 投票する
5 に答える
352 参照

c - 構造ポインタの逆参照に関する質問

このコードをコンパイルすると、「不完全な型へのポインターを逆参照しています」というコンパイル エラーが発生します。最後の print ステートメントでエラーが発生し、その前に (*temp) を指定しようとしました。b のアドレスへの num

0 投票する
5 に答える
10098 参照

objective-c - 逆参照してNSArray内の値を変更しますか?

Objective-cの配列内のポインターに関連する問題に遭遇しました。

私がやろうとしているのは、NSArray内のポインターを取得し、それらをメソッドに渡してから、戻り値を元のポインター(配列に属するポインター)に戻すことです。

私がCとC++から知っていることに基づいて、配列内のポインターを逆参照することにより、それらが指す値を変更できるはずです...これが私が使用しているコードですが、機能していません(値の電話NSLog出力に基づいて変更されないことを指します)。

そして、NSString*を渡すメソッドシグネチャは次のとおりです。

ご覧のとおり、phoneNumbers内の各NSString*を変数phoneで繰り返し処理しています。電話をremoveNonNumbers:に渡します。これにより、変更されたNSString*が返されます。次に、removeNonNumberから返されたポインターを逆参照し、値を電話に割り当てます。

お分かりのように、私はおそらくObjective-Cオブジェクトをあまりよく理解していません。これはC++またはCで機能すると確信していますが、なぜここで機能しないのかわかりません。よろしくお願いします!

0 投票する
2 に答える
249 参照

perl - @{$list_ref} と @$list_ref は Perl で同等ですか?

私は Perl を初めて使用し、@{$list_ref}@$list_refが完全に同等であるかどうかに興味があります。

それらは互換性があるように見えますが、私が見逃しているかもしれない微妙なことが起こっているのではないかと心配しています.

0 投票する
4 に答える
27727 参照

c++ - C++ でセット イテレータを使用する

C++ のデバッグ モードでセット イテレータを使用しようとすると、「マップ/セット イテレータは参照解除できません」というエラーが表示されます。逆参照はイテレータの使用方法だと思っていたのでわかりません。コードは次のようになります。

これは、イテレータの使用方法についてオンラインで見たすべての例の形式です。私は何を間違っていますか?

0 投票する
2 に答える
95990 参照

c++ - 要素にアクセスする逆参照ベクトル ポインター

C++ にベクトルへのポインターがある場合:

そして、ベクトルの要素にアクセスしたいのですが、ベクトルを逆参照することでこれを行うことができます:

しかし、この逆参照は実際に私のベクトルのコピーをスタック上に作成しますか? ベクトルが 10000 int を格納するとしましょう。vecPtr を逆参照することで 10000 int がコピーされますか?

ありがとう!

0 投票する
4 に答える
2330 参照

c - ポインタ逆参照演算子と組み合わせたプリインクリメント演算子の適切な使用法

次のコード行を記述しました。

私の意図は、と比較する前にポイントするcountデータ構造内の変数をインクリメントすることであり、このコード行は機能します。data_ptrthreshold

data_ptr代わりに、比較を行う前にインクリメントしたい場合は、次のように記述します。

好奇心から、私は次のコード行も試しました。

そして、それが最初のものとまったく同じように動作することを発見しました。

最初の質問: 例3が例1と同じように機能するのはなぜですか?それはオペレーターの優先順位の問題ですか?標準に何かありますか?答えがはっきりしなかったので、簡単なテストプログラムを書かなければなりませんでした。

2番目の質問:ifこのステートメントを別の方法で書く必要がありますか?混乱を避けるために、最初に独自の行でインクリメントを実行してから、条件をテストすることができます。これは必要ですか、それとも最初の2つの例はそれ自体で十分に明白ですか?

0 投票する
3 に答える
373 参照

dereference - 逆参照されたポインターの値は何ですか

次のコードスニペットを含むCテキストを読んでいたときに、逆参照されたポインターの値に関して混乱が生じていることに気付きました。

私の混乱は、最後の行の*arrPtrの値に関するものです。これがそれまでの私の理解です。

3行目、行列は、int型の10個の要素の配列型の3個の要素の配列であると宣言されています(暫定的に定義されています)。

4行目、arrPtrは、int型の10個の要素の配列へのポインターとして定義されています。また、10個の要素の配列(つまり、行列の最初の行)へのptrとして初期化されます。

5行目でarrPtrが逆参照され、実際の配列が生成されるため、その型は10intの配列になります。

私の質問:なぜ配列の値は、配列のアドレスだけであり、その要素に何らかの形で関連していないのですか?

0 投票する
2 に答える
1119 参照

c - char** を参照によって関数に渡す

季節のご挨拶!多数の文字列を格納する配列として使用されている char** の内容を出力する関数があります。は次のように宣言されます。

ここで、historySize は 8 に設定されたグローバルな int です。配列には、循環キューのような形で、ユーザーが入力するコマンドが取り込まれます。バッファの内容を出力したい場所がいくつかあるので、関数を作成しました。理想的には、関数は commandArray への参照を受け取り、それをループして、その内容を出力します。ここで、ポインターと参照は私の得意分野ではないことを言わなければならないので、正しく行っているかどうかはよくわかりません。関数は次のようになります。

次のように、char** を関数に渡します。

現状では、すべて正常にコンパイルされますが、プログラムが履歴を出力すると、関数がループのどこかでハングし、char** の内容が出力されません。SO、私の質問は次のとおりです。commandArray を適切に渡していますか、関数を正しく宣言していますか、関数内で正しい方法で逆参照していますか?

すべてのヘルプや提案を事前にありがとうございます!

-ベン

0 投票する
12 に答える
89702 参照

c++ - イテレータが有効かどうかの確認

イテレータ (ベクトル、リスト、deque からのものかどうか...) が (まだ) 逆参照可能かどうか、つまり無効化されていないかどうかを確認する方法はありますか?

try-を使用していますcatchが、これを行うより直接的な方法はありますか?

例:(これは機能しません)