Size: a a a

2020 June 28

DS

Dmitry Sokolov in pro.cxx
Alex
А в чём проблема? Прочитал пропозал по диагонали (а местами внимательно), не увидел описания каких-то челленджей.
Как пример можно сравнить operator [] у basic_string для которого UB это доступ за пределами size() и тот же оператор для array, где UB это доступ к nonexistent element.
источник

A

Alex in pro.cxx
а что такое для array nonexistent element, если не индекс за пределами [0, size)?
источник

DS

Dmitry Sokolov in pro.cxx
Alex
а что такое для array nonexistent element, если не индекс за пределами [0, size)?
Ну да, согласен, плохой пример, хотел сказать тоже можно получить indeterminate значения без инициализации. Но тут хуже, Char в общем случае может же быть любой, а это будет не сконструированный Char.
источник

ПК

Побитый Кирпич... in pro.cxx
Dmitry Sokolov
Ну всякие resize uninitialized первичные оставляли часть строки именно что в uninitialized state, что автоматически сказалось бы в UB на куче методов строк, т.к. у части элементов ещё не начался lifetime. А инициализация через init_op вроде как суживает этот UB до вот этой самой op которая обязана как то заполнить переданный ей range.
Дак implicit start lifetime должен это пофиксить же
источник

DS

Dmitry Sokolov in pro.cxx
Побитый Кирпич
Дак implicit start lifetime должен это пофиксить же
Для scalar да, но в общем случае basic string не ограничен scalar types. Да, это довольно странно, но тем не менее это приходится учитывать разработчикам стандарта, ибо "нарушает инварианты".
источник

VK

Vitaliy Kostrov in pro.cxx
в С++ есть возможность из лямбды рекурсивно вызвать саму себя,  без использования std::functional или вложенной лямбды?
источник

DS

Dmitry Sokolov in pro.cxx
Vitaliy Kostrov
в С++ есть возможность из лямбды рекурсивно вызвать саму себя,  без использования std::functional или вложенной лямбды?
Нет.
источник

VK

Vitaliy Kostrov in pro.cxx
спасибо.
источник

ПК

Побитый Кирпич... in pro.cxx
Vitaliy Kostrov
в С++ есть возможность из лямбды рекурсивно вызвать саму себя,  без использования std::functional или вложенной лямбды?
Вроде через передачу лямбды в параметре
источник

DS

Dmitry Sokolov in pro.cxx
Побитый Кирпич
Вроде через передачу лямбды в параметре
Типа auto lambda = [&lambda] {...}?
источник

IA

Igor Akhmetov in pro.cxx
Vitaliy Kostrov
в С++ есть возможность из лямбды рекурсивно вызвать саму себя,  без использования std::functional или вложенной лямбды?
https://stackoverflow.com/questions/2067988/recursive-lambda-functions-in-c11 воспользуйтесь мощью гугла для простых вопросов, не надо сразу в чат писать.
источник

ПК

Побитый Кирпич... in pro.cxx
Dmitry Sokolov
Типа auto lambda = [&lambda] {...}?
auto l = [](auto& l_l) { l_l(...);};
l(l);

вроде
источник

IS

Iskander Saitbatalov in pro.cxx
Побитый Кирпич
auto l = [](auto& l_l) { l_l(...);};
l(l);

вроде
источник

VK

Vitaliy Kostrov in pro.cxx
Igor Akhmetov
https://stackoverflow.com/questions/2067988/recursive-lambda-functions-in-c11 воспользуйтесь мощью гугла для простых вопросов, не надо сразу в чат писать.
Спасибо кэп.
это С++11,  а не 17/20.  По последним стандартам не нашел. за 10 лет могло появится что-либо новое
источник

D

Danya in pro.cxx
Vitaliy Kostrov
Спасибо кэп.
это С++11,  а не 17/20.  По последним стандартам не нашел. за 10 лет могло появится что-либо новое
Вон там y combinator на С++14 смари какой хороший
источник

IA

Igor Akhmetov in pro.cxx
Vitaliy Kostrov
Спасибо кэп.
это С++11,  а не 17/20.  По последним стандартам не нашел. за 10 лет могло появится что-либо новое
В ответах куча вариантов, включая приведенный выше C++14 вариант. Он чем-то не устраивает?
источник

VK

Vitaliy Kostrov in pro.cxx
Igor Akhmetov
В ответах куча вариантов, включая приведенный выше C++14 вариант. Он чем-то не устраивает?
да, хорошее решение.
источник

VK

Vitaliy Kostrov in pro.cxx
спасибо
источник
2020 June 29

DS

Dmitry Sokolov in pro.cxx
Но это и есть "вложенная лямбда".
источник

AZ

Alexander Zaitsev in pro.cxx
настоятельная просьба работу сюда впредь не кидать какую-либо
источник