Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 September 13

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Просто я видел пример, как через указатель в функции в стеке вызовов меняли функцию, к которой надо вернуться, с мэйна на пользовательскую, если так можно выразиться, там выдавало сегфолт, но срабатывало. Переполнение буфера называется
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
А вообще делать free от указателя не через malloc это UB.
Как работает delete не знаю, наверное вызывает free если это указатель.
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Макс Заика
Просто я видел пример, как через указатель в функции в стеке вызовов меняли функцию, к которой надо вернуться, с мэйна на пользовательскую, если так можно выразиться, там выдавало сегфолт, но срабатывало. Переполнение буфера называется
ну переполнение буфера не всегда выдает сегфолт
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
это же UB, там все может быть
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
ну второе вроде про C++
не
типа C простой как бревно
а C++ — деревянный домик на дереве
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
В C++ абсолютно те же самые указатели)
но есть и более безопасные ссылки
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
помню когда-то немного шокировался, что ссылок нет в C)
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
да, я до сих пор не простил C первые лабы по плюсам с char* на 1 курсе)
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
У тебя просто Раста нормального не было
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Vsevolod
помню когда-то немного шокировался, что ссылок нет в C)
Ну я тогда не совсем понимаю, что понимать под ссылками? Как там указателю адрес переменной присвоить?
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
То, что я нагуглил в рунете по указателям, использовало такой же синтаксис, как и в плюсах
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Макс Заика
Вкратце, переходите на раст?)
Использовать нужно то, что удобнее и уместнее в конкретный период времени)
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Если ты делаешь простую веб-морду своего сайта, то писать на C/C++/Rust всё же не стоит
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Макс Заика
Это не практичный код, это чисто мой интерес. Я думал, он через segmention fault сработает
ну да, в теории он мог бы тебе выдать значение, которое осталось в памяти

например, это вроде выдает
int *b;
{ int a = 5; b = &a; }
print b
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
но после использования удаленного указателя программа обычно посылает нахер)
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
musl делает сискол для анмапинга указателя, например
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
поэтому потом обращение к этой памяти выдаст сегфолт
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
но подозреваю, что ОС выдаст сегфолт еще на попытке анмапить стэк
источник

МЗ

Макс Заика in IT KPI C/C++ ХВ (не UB)
Vsevolod
ну да, в теории он мог бы тебе выдать значение, которое осталось в памяти

например, это вроде выдает
int *b;
{ int a = 5; b = &a; }
print b
Ну я это сделать и хотел) Просто перед этим вот это делал и заинтересовался
источник

A

András in IT KPI C/C++ ХВ (не UB)
Vsevolod
но после использования удаленного указателя программа обычно посылает нахер)
Мені здається не має послати, бо тут ти посилаєшся на стек
источник