Wie ich weiß, compiletime C-like Strings werden im statischen Speicher als nur eine Instanz gehalten. Zum Beispiel habe ich beide true
auf gcc 4.6 Beispiel unten ausgeführt. Aber ich frage mich, ob es immer wahr ist und tragbar sein kann. Verhalten auf C und C++ ist interessant.Strings in statischen Speicherinstanzen zählen
#include <iostream>
bool amIportable(const char* value) {
const char* slocal = "Hello";
return (slocal==value);
}
int main() {
const char* s = "Hello";
std::cout << std::boolalpha
<< amIportable(s) << '\n'
<< amIportable("Hello") << '\n';
}