auto_ptr
C++03でどのように機能するかを理解しています。これはこのトリックに基づいています。このトリックは、このようなコードが記述されているときに、ユーザー定義の変換を使用して、あるオブジェクトから別のオブジェクトへのポインターを盗みますauto_int p(auto_int(new int()));
。ただし、この点に関していくつか質問があります。
- コンパイラで生成されたcopy-ctorが呼び出されないのはなぜですか?
- ユーザー定義の変換がコンパイラーで生成されたcopy-ctorよりも優先されるのはなぜですか?
- そもそもコンパイラで生成されたcopy-ctorはありますか?
- そうでない場合、どの言語規則がそれを抑制しますか?