Kann ich davon ausgehen, dass Allokatoren ihren Speicherpool nicht direkt halten (und daher kopiert werden können)?

Ich schreibe einen Container und möchte dem Benutzer erlauben, benutzerdefinierte Zuweiser zu verwenden, kann aber nicht sagen, ob ich Zuweiser nach Verweis oder nach Wert weitergeben soll.

Ist garantiert (oder zumindest eine vernünftige Annahme), dass ein Allokatorobjekt wirdnicht den Speicherpool direkt enthalten, und daher wäre es in Ordnung, einen Allokator zu kopieren und zu erwarten, dass die Speicherpools der Allokatoren untereinander kompatibel sind? Oder muss ich Allokatoren immer als Referenz übergeben?

(Ich habe festgestellt, dass das Übergeben eines Verweises die Leistung um einen Faktor> 2 beeinträchtigt, da der Compiler anfängt, sich über Aliasing Gedanken zu machen. Daher kann ich mich auf diese Annahme verlassen.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage