トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
C++
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索

___

■ ThisPointer


  DESC
     this は const ではない。変更ができる。
     なぜか ? this の中で当然. 自分自身を修正できるから
     ので const 関数に渡しても問題なし.



    this は CMP としては Foo *const という扱いになる

    &this はだめらしい ( '&' に左辺値がありません。)
   ie. アドレス演算子(&)のオペランドには左辺値( 代入できる式 )が必要ということ。
       ( 変数(箱)がないと, その場所を返すことができない )
    ClsFoo *p = 0;
    this = p;  // ERR ( this は左辺値ではない )

  POINT  
    SingleInheritance ( SI )に対しては this は不変.
    MultiInheritance  ( MI )に対しては this はかわる.


    func1 adr 22ef04  // int 1 個分のずれ. 
    func2 adr 22ef00
    func0 adr 22ef00
    func3 adr 22ef00


      
  POINT
    実は MemFunc へのアクセスは, this ポインタが仕込まれている
    memFunc( Foo *this );

    そのため内部で VarMem を利用しない場合は NULL を渡しても問題ない。
    Foo *f = 0;
    f->func(){ printf("test") };


NINJAIDX 12