2011-08-10 6 views
-1

可能性の重複:
What is the arrow operator (->) synonym for in C++?C++ " - >"とは何ですか?

私は非常に基本的な質問があります。 Googleでそれを検索することができませんでした...私は知らない何を - >であり、それは例えば、C++で何をするか:

render = Surface->Logic->Scale; 
+3

矢印演算子です。 [この質問の可能なDublicate:](http://stackoverflow.com/questions/221346/what-is-the-arrow-operator-synonym-for-in-c) –

+0

なぜ-1?私は何か言及するのを忘れましたか? – Aistis

+0

@Comptrol:コメントに '[description](link)'を使う必要があります。 –

答えて

7

C++ ->には、2つのコンテキストがあります。

0123オブジェクト

に関してポインタ

  • に関して
    1. これはポインタを逆参照するので、基本的には、変数が特定のオフセットに格納されているメモリ位置にもたらします。したがって、

      ​​

      オブジェクトに対する

      (*Surface).Logic->Scale; // same applies for 'Logic' too 
      

      、と等価である、あなたは

      struct B { void foo(); }; 
      struct A { 
          B *p; 
          B* operator ->() { return p; } 
      }; 
      

      使用法は、

      A obj; 
      obj->foo(); 
      
      なり、としてそれをオーバーロードすることで、この作業を模擬することができます
  • +1

    上記は擬似コードであり、 'B * p;'を有効なオブジェクト( 'p = new B;'のような)に初期化する必要があるかもしれないことに注意してください。私はデモを複雑にするので、これを言及していない。 – iammilind

    2

    はあなたがC++で本を持っていますか?答えが「いいえ」の場合は、なぜですか。

    答えがイエスであれば、私は、これはそれで覆われていることを確信しています。

    とにかく、「 - >」記号は、ポインタデ参照演算子です。

    ---編集---投票をダウンするものについては

    、これは質問への回答の要旨である、と何かがスプーン送りです。この文脈での長さのポインタの逆参照を説明することは冗長です。これはSOとgoogleの広告メイトで説明されており、OPがそれに続く検索を(ポインタの逆参照時に)実行すると、それが何であるかについての講義。

    2

    ->オペレータは、ポインタを間接参照し、メンバにアクセスします。それは

    (*(*Surface).Logic).Scaleを書くことに似ています。

    ポインタロジックもあるので、我々はLogic部材

    (*surface).Logic

    にアクセスすることができる逆参照されると、そこで上記では、我々は最初

    *Surface

    Surfaceポインタを欽慕ポインタを逆参照する必要があるポインタ

    *(*Surface).Logic

    そして、あなたは、これははるかに面倒->演算子を使うより見ることができるように今、あなたは

    (*(*Surface).Logic).Scale

    Scaleメンバーにアクセスすることができます。これは、ポイナーを解読し、メンバーにアクセスします。

    2

    まあ、オペレータの矢印 - のC++では(>)のポインタを使用してstructのメンバーにアクセスするために使用されます。たとえば、あなたが持っていると言う:あなたは記述する必要がありますy言う要素xにアクセスして、他のいくつかの要素に割り当てる

    struct A { 
    int x; 
    }; 
    
    A* mp = new A; 
    

    int y = mp -> x; 
    

    さらに説明するためには、あなたがここに見えることがあります。

    http://www.cplusplus.com/doc/tutorial/structures/

    関連する問題