Ich könnte etwas über einige Konzepte auf Zuordner falsch verstanden haben. Aber ich weiß wirklich nicht, warum wir ein Argument von std::size_t
benötigen, das an allocate
übergeben wird, um die Anzahl der zuzuweisenden Objekte anzugeben. Wird das Argument verwendet, um Speicherbereiche wie Arrays oder Vektoren zuzuordnen?Wie kann der benutzerdefinierte Zuordner wissen, ob ein Zeiger auf ein Array zeigt?
Wenn sie sind, wie kann dann mein benutzerdefinierter Zuordner wissen, ob der zuvor zurückgegebene Zeiger auf eine Region oder nur auf ein Objekt zeigt? Ist mein Allokator dafür verantwortlich, diese Zeiger aufzuzeichnen?
Wenn sie nicht sind, warum brauchen wir dann dieses Argument?
Hilft das? http://en.cppreference.com/w/cpp/memory/allocator/allocate – NathanOliver