25
this
ポインタ [class.this]、C++標準状態において: クラスX
のメンバ関数でthis
のタイプはある`this`がconstでない場合、なぜそれを変更できないのですか?
。
すなわちthis
はconst
ではありません。しかし、なぜそれが
struct M {
M() { this = new M; }
};
は、言い換えれば
error: invalid lvalue in assignment <-- gcc
'=' : left operand must be l-value <-- VC++
'=' : left operand must be l-value <-- clang++
'=' : left operand must be l-value <-- ICC
(source: some online compiler frontends)
を与えること、その後で、this
はconst
ではありませんが、それは本当にです!
キーワード 'this'は変数ではないため、定数であるかどうかを示すことはできません。 –
これが機能しても、無限ループだけが構築されています。 –
@vlad_tepesch:それは、または無限の再帰(あなたがPythonでできるように)です。しかし、これは問題ではありませんでした。 –