C & C++ FAQ
|
C++ | 割付け関数とは何ですか。 |
class Arena; struct B { void* operator new(size_t, Arena*); }; struct D1 : B { }; Arena* ap; void foo(int i) { new (ap) D1; // B::operator new(size_t, Arena*)を呼び出す。 new D1[i]; // ::operator new[](size_t)を呼び出す。 new D1; // 駄目! ::operator new(size_t)が隠ぺいされている。 }
標準C++ 1st | §3.7.3.1 | Allocation functions |
§12.5 | Free store | |
標準C++ 2nd | §3.7.3.1 | Allocation functions |
§12.5 | Free store |