expression: X::size_type return type: unsigned integral type assertion/note pre/postcondition: a type that can represent the size of the largest object in the allocation
The typedef members pointer, const_pointer, size_type, and difference_type are required to be T*, T const*, size_t, and ptrdiff_t, respectively.
class B { public: virtual ~B(){}; }; class D1 : public B {}; class D2 : public D1 {}; class D3 : public D2 {}; で、dynamic_cast<D1*>をそれぞれの実インスタンスへのポインタでテスト。 B < D1 < D2 < D3 となって、継承の回数に比例してる感じでした。