Kann das C ++ - Array an der Speichergrenze enden?

it dem @ C ++ - Standard (und in diesem Fall mit C) kann ein Zeiger auf ein Element hinter dem Ende des Arrays erstellt (und nicht dereferenziert) werden. Bedeutet dies, dass ein Array niemals an einer Stelle zugewiesen wird, an der sein letztes Element an der Speichergrenze endet? Ich verstehe, dass in der Praxis einige / alle Implementierungen dieser Konvention folgen könnten, aber welche der folgenden ist wahr:

Es ist tatsächlich falsch, und ein Array könnte an der Speichergrenze enden, ODER Es ist gemäß C ++ - Standard vorgeschrieben, den Speicher eines Elements vor der Grenze zu beenden, ODER Weder 1 noch 2, aber das ist bei tatsächlichen Compilern immer noch so, weil es die Implementierung erleichtert.

Ist etwas anderes für den Fall von C?

Aktualisieren Wie es scheint1 ist die richtige Antwort. Siehe Antwort von James Kanze unten und siehe auchefence (http: //linux.die.net/man/3/efenc - Danke an Michael Chastain für den Hinweis)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage