-4

友人がデータ構造のコースを受講しており、リンク リストのコンテキストで違いを説明しようとしています。私は本当にこれを知っている必要がありますが、高レベルのフレームワークに焦点を当てているので、少し錆びています。「矢印はポインターで使用される」ことは知っていますが、それだけです。

基本的に、C では、ある変数のプロパティにアクセスするときのドットと矢印の違いは何ですか? また、私は特にバカな気分なので、これはC++でも同じですか、それとも変更されましたか?

4

3 に答える 3

6

通常、.直接アクセスする構造体がある場合は が使用され、構造体へ->のポインタがあり、構造体にアクセスするためにそれを逆参照する必要がある場合は が使用されます。

a->bのシンタックス シュガーです(*a).b。CでもC++でも同じです。

于 2013-06-21T04:52:36.010 に答える
3

myPtr->someVariable(*myPtr).someVariable(myPtr を逆参照し、メンバーにアクセスする)と同じです。*myPtr.someVariableポインターとして扱う場合(myPtr.someVariable)(メンバーにアクセスし、全体をポインターとして逆参照します)。

于 2013-06-21T04:53:30.853 に答える
1
pointersomething->member

と同じことです

(*pointersomething).member

理論的には可能なショートカットとして存在します

*pointersomething.member

しかし 。演算子は * 演算子よりも優先順位が高いため、括弧が必要です。したがって、矢印ショートカットが必要です。

于 2013-06-21T04:54:59.383 に答える