|
|
[ トップページ ]
[ ____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 を渡しても問題ない。
|
|






