выходе из блока переменная удалится? память совободится? Сори за нубской вопрос))
Она здесь и не выделяется. Example! будет размещен в сегменте данных только для чтения компилятором.
Удалиться. Код кстати невалиден
Отлично скомпиллился, в чем невалидность, мне как новечку. Это С код, если вдруг)
Указатель должен быть Константным, на константу
У тебя просто компилятор работает в режиме "а мне насрать"
На msvc кстати и вправду работает, по дефолту)
Я запускаю через сборщик, там cmake, и компиляция через xtensa или как-то так.
А что если он не в таком режиме, что не так в коде?
Ну да, в режиме С оно так и работает, там просто запись туда будет UB. Но это этого код лучше не становится
https://stackoverflow.com/questions/13690306/conversion-from-string-literal-to-char-is-deprecated
Запись куда? Сори :)
В объект, на который указывает эта переменная
Так там не объекта, там же просто поинтер на кусок памяти, которая типа чар последовательность. Илия что-то не так понимаю?
Объекта не будет, правильно, это константа. Но формально char* указывает на объект (переменную). И именно поэтому это UB
Т.е. переменная = объект (формально)?
Массив чаров. Чар это объект в терминологии языка
Объект тут имеется в виду переменная языка а не объект ООП
А, тогда это сильно меняет контекст, понял:)
Объект в терминах языка с - это переменная любого типа
Ну не любого. Ссылки, функции, void не объекты
Ок, тогда ссылка на блок памяти чар это не объект?
Массивы вроде объекты
Самая ссылка объект. Ссылается она тоже на объект если не Константная.
Да, был неправ
Вполне ты лучше код пиши
Ссылка нет. Массив чаров да
Ну я тоже наизусть не помню тем более что С
Так ссылок нет в С , там указатели
Ну лукой «Томом» это уже массив чаров, но это ж по сути указатель на начало блока, методов и свойств не имеет. Я не спорю, просто хочу понять.
Дело не в свойствах https://t.me/supapro/898750
Обсуждают сегодня