Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03451.jsonl.gz/744

Die Übergabe das Char-Arrays erfolgt als Zeiger, weil die Array-Variable selber schon ein Zeiger ist. Das ist bei dem String Objekt nicht der Fall. Hier wird es als Referenz übergeben. Aus den schon genannten Gründen.
Bei const char* string kann der Inhalt (der String) des Arrays nicht verändert werden, jedoch die Variable (der Zeiger) selbst.
Bei char* const string kann der Inhalt, jedoch nicht der Zeiger verändert werden.
Eine Referenz muss immer initialisiert sein und zeigt somit immer auf eine Variable oder ein Objekt. Das ist bei einem Zeiger nicht unbedingt der Fall. Darum ist der Umgang mit Referenzen sicherer, auch wenn es im „Prinzip“ Zeiger sind.