-2

なぜthisC++で非推奨になったのですか?C ++のポインタはJavaのポインタとどうthis違うのですか?this

またはウィキペディアはちょうど間違っています

C ++の初期のバージョンでは、このポインターを変更できます。そうすることで、プログラマーはメソッドが作業しているオブジェクトを変更できます。この機能は最終的に非推奨になり、C++ではconstになりました。

4

3 に答える 3

17

私はあなたの間違いはあなたがその行をどのように解釈するかにあると信じています。彼らは「この機能は廃止された」と言っているのではありません。ポインタを再割り当てするthis機能は廃止されました。

于 2011-09-26T15:30:09.100 に答える
6

あなたは引用を誤って解釈しました。

C ++の初期のバージョンでは、このポインターを変更できます。そうすることで、プログラマーはメソッドが作業しているオブジェクトを変更できます。この機能は最終的に非推奨になり、C++ではこれが廃止されましたconst

非推奨となるのはthis、ポインターが指すオブジェクトではなく、ポインターが変更可能であるということです。

this型で、それ自体はまだ非常に生きていprvalue T*ます。(GCCは、現在のGCC 4.7.0を作成thisすることにより、当面これをシミュレートします。)rvalue T* const

于 2011-09-26T15:30:44.193 に答える
6

あなたの編集に基づいて、ウィキペディアの記事はあまり言葉にされていません。は非推奨ではありません。ポインタを変更thisできるようにする機能が非推奨になっているだけです。thisキーワードthisはまだ存在します。

Stroustrup自身から:

なぜ「これ」は参照ではないのですか?

「this」は、参照が追加される前にC ++(実際にはC with Classes)に導入されたためです。また、(後の)Smalltalkでの「自己」の使用ではなく、Simulaの使用法に従うために「これ」を選択しました。

于 2011-09-26T15:30:59.457 に答える