私はちょうどそれを学び始めています。私は、迅速な純粋なオブジェクト指向の言語であり、すべてのものが迅速であれば私の心を殺しているのか疑いがあります。オブジェクトiはアドレス/ポインタをvar型で割り当てる
var aValue = 2 //step 1
var bValue = 5 //step 2
を作成する場合に、それらの対応を保持する変数a、bは参照として扱われるべき意味Int
タイプの2及び5値ので、この後、私はステップのように
aValue = bValue //step 3
aValue = 0 //step 4
を作成する場合-3 bValueのステートメントアドレスは変数aValueに割り当てられ、h ereby aValueとbValueの両方が同じオブジェクトを指している必要があります(たとえば、これがjavaで記述されている場合は )。aValueの各操作はbValueに影響するはずです(同じオブジェクトを指しているため)。bValueは値0すなわちaValue = 0
とbValue = 0
が手順4の後で実際にはbValueのオブジェクトがaValueにコピーされ、互いに独立して処理されているので、どうして起こったか
誰でもこれを説明できます!スウィフトは
※「迅速なものはすべてオブジェクト」* - どこから取得しましたか?私はSwift言語リファレンスの "A Swift Tour"と "Classes and Structures"を読むことをお勧めします。 –
Javaはプリミティブ型のようには機能しません。 – Sulthan
スウィフト(またはJava)オブジェクトでも、記述方法が振る舞いません。同じオブジェクトへの参照が2つあり、それらの参照のうちの1つに他の参照を割り当てると、もう1つは魔法のように同じオブジェクト。 *異なる*オブジェクトを指し示します。あなたがC++の参考資料を考えているように思えます。 – Hamish