我一直在想,下面例子中 ptrToArray
和 ptrToLiteral
指向的内容是否有任何区别:
constexpr char constExprArray[] = "hello";
const char* ptrToArray = constExprArray;
const char* ptrToLiteral = "hello";
- 我理解
constExprArray
和两个"hello"
字面常量都是编译时常量lvalue,这正确吗? - 如果是,它们在可执行文件中的存储方式是否有区别,还是纯粹由编译器实现或平台决定?
- 它们在幕后的运行时处理方式是否不同?
- 还需要了解其他信息吗?