Zusammenstellung von String-Literalen

Warum können zwei durch Leerzeichen, Tabulator oder "\ n" getrennte String-Literale fehlerfrei kompiliert werden?

int main()
{
   char * a = "aaaa"  "bbbb";
} 

"aaaa" ist ein char * "bbbb" ist ein char *

Es gibt keine spezielle Verkettungsregel für die Verarbeitung von zwei Zeichenfolgenliteralen. Und offensichtlich gibt der folgende Code einen Fehler beim Kompilieren:

#include <iostream>
int main()
{
   char * a = "aaaa";
   char * b = "bbbb";
   std::cout << a b;
}

Ist diese Verkettung allen Compilern gemeinsam? Wo ist die Nullterminierung von "aaaa"? Ist "aaaabbbb" ein kontinuierlicher RAM-Block?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage