Standardowa klasa układu polega na posiadaniu dobrze zdefiniowanego układu dla określonego typu w pamięci. W C++ referencje nie są obiektami, więc nie mają żadnego magazynu, do którego można uzyskać dostęp w dobrze zdefiniowany sposób, za pomocą zgodnego programu, nawet jeśli implementacja będzie zwykle wymagać pewnego rodzaju pamięci specyficznej dla implementacji.
Z tego powodu nie ma sensu posiadanie elementów referencyjnych w elementach, które muszą mieć układ standardowy.
Jest nienormatywne uwaga w standardzie w sekcji o C++ modelu pamięci, który wspomina o tym:
[Uwaga: Różne funkcje języka, takie jak odniesień i funkcji wirtualnych, może obejmować dodatkowy lokalizacje pamięci, które nie są dostępne dla programów, ale są zarządzane przez implementację. -end note]
Czy sądzisz, że takie właściwości muszą istnieć? Nie musi być ... – Yakk
"Zapobieganie" jest mocnym słowem. Z jednego punktu widzenia, odniesienia dają kompilatorowi dobrą wymówkę, aby traktować strukturę jako typ danych abstrakcyjnych, a nie. specyfikacja układu pamięci. Referencje w ogóle nie muszą mieć własnego *. – jthill