Разница между строковым литералом и массивом constexpr из char
Мне было интересно, есть ли разница между тем, на что указываетptrToArray
а такжеptrToLiteral
в следующем примере:
constexpr char constExprArray[] = "hello";
const char* ptrToArray = constExprArray;
const char* ptrToLiteral = "hello";
Мое понимание того, чтоconstExprArray
и два"hello"
все литералы верны ли постоянные времени компиляции?Если да, то есть ли разница в том, как они хранятся в исполняемом файле, или это чисто реализация компилятора или платформа?Во время выполнения за кулисами они трактуются по-разному?Что-нибудь еще знать о?