Size: a a a

2020 March 13

ПК

Побитый Кирпич in pro.cxx
Vyacheslav Olkhovchenkov
или ты считаешь что вот эти все UB и ID -- они просто так из головы взялись?
Есть UB которые появились из-за того что компилятор не может за разумное время задетектить ошибку. И такая ошибка считается UB
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
Constantine Drozdov
//C++03
int read_int(error_code & error = ????)
Перегрузки отменили?
источник

CD

Constantine Drozdov in pro.cxx
Artöm Bakri Al-Sarmini
Перегрузки отменили?
Форвардить как?
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
Constantine Drozdov
Форвардить как?
Кого куда?
источник

CD

Constantine Drozdov in pro.cxx
Artöm Bakri Al-Sarmini
Кого куда?
int read_int(string name /*вот его*/, error_code & error = ???)
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
Artöm Bakri Al-Sarmini
А теперь оно осталось. Это данность
ну так читать-то надо так: в некоректной программе кто угодно мог по адресу ноль записать что угодно. гарантировать что там осталось стандартное значение на этой платформе мы не можем. но если ошибок нет то передача управления туда даст предсказуемое поведение. так же как запись и чтение.
источник

F

Fox in pro.cxx
Constantine Drozdov
int read_int(string name /*вот его*/, error_code & error = ???)
Надо просто реализовать концепт форварда из доклада Саттера
источник

AB

Artöm Bakri Al-Sarmini in pro.cxx
Constantine Drozdov
int read_int(string name /*вот его*/, error_code & error = ???)
Не понял, что в этом контексте форвардить
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
Побитый Кирпич
Есть UB которые появились из-за того что компилятор не может за разумное время задетектить ошибку. И такая ошибка считается UB
чего?
источник

CD

Constantine Drozdov in pro.cxx
Artöm Bakri Al-Sarmini
Не понял, что в этом контексте форвардить
Параметр name в другую перегрузку
источник

ПК

Побитый Кирпич in pro.cxx
Что именно не ясно?
источник

CD

Constantine Drozdov in pro.cxx
Каким образом компилятор может детектировать некорректный указатель на функцию?
источник

ПК

Побитый Кирпич in pro.cxx
Два разных тела у inline функции - UB. Давай придумай как эту ошибку задетектить и не посадить время компиляции в 0
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Два разных тела у inline функции - UB. Давай придумай как эту ошибку задетектить и не посадить время компиляции в 0
Это не UB, это IFNDR
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
какие ошибки компилятор должен был етектить и почему они как-то ограничиваются временем?
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Это не UB, это IFNDR
Дак это и есть UB
источник

PK

Pavel Kazakov in pro.cxx
NDR -- градация UB
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Дак это и есть UB
Нет, твоя программа не компилируется, но компилятор тебе не скажет
источник

ПК

Побитый Кирпич in pro.cxx
Vyacheslav Olkhovchenkov
какие ошибки компилятор должен был етектить и почему они как-то ограничиваются временем?
Читай выше
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Дак это и есть UB
Это compile time UB
источник