Hier ist mein Szenario: Ich habe eine Reihe von Quelldateien, die ich nicht ändern möchte, aber ich möchte einige der String-Literale durch andere Werte ersetzen. Hier ein Beispiel:In C++ ist es möglich, ein String-Literal als Makroname zu verwenden?
#define "oldString" "newString"
** Wenn ** das funktionierte, wäre das Ergebnis in jeder Hinsicht identisch mit dem, was Sie erhalten würden, wenn Sie den Quellcode direkt geändert hätten. Setzen Sie die Quelle in die Versionskontrolle, damit Sie verfolgen können, welche Änderungen Sie vorgenommen haben. Oder schreibe ein Skript, das die Quelle vor jeder Kompilierung massiert. Da Sie die Quelle kompilieren (anstatt sie zum Beispiel während der Fehlersuche als Referenz zu betrachten), sollte es nicht gefährlich sein, sie in der beschriebenen Weise zu modifizieren. –