Size: a a a

2020 August 07

️️

️️ ️ in supapro.cxx
Vlad Serebrennikov
если ты malloc'ил тип, у которого нужно вызывать нетривиальный конструктор (который что-то делает = какой-то код генерируется), и при это не вызывал placement-new, чтобы этот конструктор отработал, то твоя программа как была некорректной, так и осталась
Я это знаю. Но в примере положили int
источник

D

Danya in supapro.cxx
Sergey Skvortsov
Ну уб же везде
В С++ не компилируется
источник

SS

Sergey Skvortsov in supapro.cxx
Ну невалидный код везде, это не так интересно
источник

d

dekabr in supapro.cxx
int* arr = (int*)HeapAlloc(heap,  NULL, arrsize);
 new (arr) int[elcount];
так можно?)
источник

D

Danya in supapro.cxx
Sergey Skvortsov
Ну невалидный код везде, это не так интересно
В Си компилируется и выстреливает в ногу
источник

👺

👺 in supapro.cxx
почему Прата в своих книга перед cout не использует std:: , это как пример кода, или в более ранних стандартах так можно было делать?
источник

AZ

Anton Z. in supapro.cxx
Vlad Serebrennikov
если ты malloc'ил тип, у которого нужно вызывать нетривиальный конструктор (который что-то делает = какой-то код генерируется), и при это не вызывал placement-new, чтобы этот конструктор отработал, то твоя программа как была некорректной, так и осталась
Ну так у инт тривиальный
источник

IZ

Ilia Zviagin in supapro.cxx
️️ ️
Вот и начался как раз вопрос про самый простой пример. Почему там без лайфтайма уб
Это не должно к каким-то проблемам приводить, это просто баг в стандарте.
источник

AS

Anatoly Shirokov in supapro.cxx
👺
почему Прата в своих книга перед cout не использует std:: , это как пример кода, или в более ранних стандартах так можно было делать?
экономит
источник

SS

Sergey Skvortsov in supapro.cxx
Там более важные примеры вокруг лайфтаймов, юнионов, strict aliasing и определения равных типов
источник

D

Danya in supapro.cxx
dekabr
int* arr = (int*)HeapAlloc(heap,  NULL, arrsize);
 new (arr) int[elcount];
так можно?)
std::vector<int> arr;
Вот так можно
источник

👺

👺 in supapro.cxx
Anatoly Shirokov
экономит
понял
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Danya
char* str = "Hello";
str[0] = 'L';
https://godbolt.org/z/4GcesK компилируется
источник

D

Danya in supapro.cxx
️️ ️
Дело не в личности. Аллоо гараж) я спросил мб кто знает как вообще это может проявиться как уб. Ответы все какие то либо это пофикшено либо личностные. А что пофикшено в конце концов и как?
Сорян
источник

VS

Vlad Serebrennikov in supapro.cxx
️️ ️
Я это знаю. Но в примере положили int
потому что в том числе для этого типа поведение стало определенным
источник

IZ

Ilia Zviagin in supapro.cxx
Sergey Skvortsov
Ну невалидный код везде, это не так интересно
В С это - валидный код
источник

BH

Blue Heart in supapro.cxx
👺
почему Прата в своих книга перед cout не использует std:: , это как пример кода, или в более ранних стандартах так можно было делать?
Для сокращения текста. Можно написать using namespace std, и вам не придётся, но в больших проектах за такое справедливо рубят руки.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
В С это - валидный код
Невалидный с С99
источник

IZ

Ilia Zviagin in supapro.cxx
👺
почему Прата в своих книга перед cout не использует std:: , это как пример кода, или в более ранних стандартах так можно было делать?
Для краткости
источник

️️

️️ ️ in supapro.cxx
Vlad Serebrennikov
потому что в том числе для этого типа поведение стало определенным
Странно что оно было не определённым.  Он же по сути тот же pod
источник