私はこのコードを理解しようとします(ここから取られます):
template <class T> class auto_ptr
{
T* ptr;
public:
explicit auto_ptr(T* p = 0) : ptr(p) {}
~auto_ptr() {delete ptr;}
T& operator*() {return *ptr;}
T* operator->() {return ptr;}
// ...
};
コードのこの行を理解するのに問題があります: explicit auto_ptr(T* p = 0) : ptr(p) {}
.
私の知る限り、この行では、pointer-to-object-of-T-class
型の引数を 1 つ持つコンストラクターを定義しようとしています。次に、 があり= 0
ます。それは何ですか?デフォルト値ですか?しかし、どのよう0
にポインターのデフォルト値にすることができますか (ポインターは、整数ではなく値としてアドレスを持つ必要があります)。