阅读《C++ Primer》时,我遇到了这样一行代码:
const char *cp = "Hello World";
据我理解,"Hello World"
是一个字符串字面值,它是一个常量字符数组。由于数组退化成数组的第一个元素的指针,这是否意味着cp
指向的是字面值H
?但是,指针必须指向内存中对象的地址,因此是否不可能有指向字面值的指针?
"Hello World"
不在内存中?我试图找到这个...“字符串字面值具有静态存储期,因此在程序的生命周期内存在于内存中。”来源:https://en.cppreference.com/w/cpp/language/string_literal - Richard Critten