Unterschied zwischen String-Literal und constexpr-Array von char

Ich habe mich gefragt, ob es einen Unterschied zwischen dem gibt, worauf hingewiesen wirdptrToArray undptrToLiteral im folgenden Beispiel:

constexpr char constExprArray[] = "hello";
const char* ptrToArray = constExprArray;

const char* ptrToLiteral = "hello";
Verstehe ich das?constExprArray und die beiden"hello" Literale sind alle Werte der Kompilierzeitkonstanten korrekt?Wenn ja, gibt es einen Unterschied in der Art und Weise, wie sie in der ausführbaren Datei gespeichert sind, oder handelt es sich um eine reine Compiler-Implementierung oder eine plattformspezifische?Werden sie zur Laufzeit hinter den Kulissen unterschiedlich behandelt?Sonst noch etwas zu wissen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage