参照型のインスタンスをもつクラスは、通常だとvector等のコンテナに格納できない。リファレンス型の変数は、リファレンス情報の更新はできない。代入もswapも参照先のデータにたいして行われる。いちおう、言語的には安全。コピーコンストラクタとデストラクタで例外を投げないことが前提。例外が発生すると破綻する。スレッドセーフでもない。シングルスレッド限定。コピーコンストラクタとnewの第二構文を使った初期化を使って実現する。スレッドセーフではない。スレッドセーフにするには排他処理が必要。ここで他のスレッドがthisを参照すると破綻する。コピーコンストラクタとnewの第二構文を使った代入の=を使って実現する。