Könnte jemand bitte den Unterschied erklären, wie die 2 Codefragmente unten behandelt werden? Sie kompilieren auf jeden Fall zu verschiedenen Assembler-Codes, aber ich versuche zu verstehen, wie sich der Code anders verhalten könnte. Ich verstehe, dass String-Literale in schreibgeschützten Speicher geworfen werden und tatsächlich statisch sind, aber wie unterscheidet sich das von der expliziten statischen unten?Unterschied zwischen statischem const char * und const char *
struct Obj1
{
void Foo()
{
const char* str("hello");
}
};
und
struct Obj2
{
void Foo()
{
static const char* str("hello");
}
};
'statisch const char' hat' static' geschrieben vor 'const char' – Iuliu