Что возвращает GDB, когда печатает &"какой-то строковый литерал" для источника C++?C++

Программы на C++. Форум разработчиков
Anonymous
 Что возвращает GDB, когда печатает &"какой-то строковый литерал" для источника C++?

Сообщение Anonymous »

В GDB я могу сделать следующее и получить адрес строкового литерала:

Код: Выделить всё

(gdb) p &"aaa"
$3 = (char (*)[4]) 0x614c20
Насколько я понимаю, строковый литерал — это rvalue без символа, к которому он привязан, но почему я могу получить его адрес?
Что это за адрес? где-то хранятся все строковые литералы? Но существуют бесконечные строковые литералы. Означает ли это, что строковый литерал «создается и помещается в память» по требованию?

Подробнее здесь: https://stackoverflow.com/questions/790 ... r-c-source

Вернуться в «C++»