Size: a a a

2020 July 15

CD

Constantine Drozdov in pro.cxx
Иванов Иванов
вот тут согласен отчасти. может быть даже не язык нужен, а подборка идиом (ведь по-сути владение в rust это идиома).   немного отойти от навороченного метапрограммирования и классов.
если кратко, есть мнение, что метапрограммирование - наш единственный путь
источник

VS

Vlad Serebrennikov in pro.cxx
Иванов Иванов
вот тут согласен отчасти. может быть даже не язык нужен, а подборка идиом (ведь по-сути владение в rust это идиома).   немного отойти от навороченного метапрограммирования и классов.
метапрограммирование и так уходит от типов к привычным значениям
источник

VS

Vlad Serebrennikov in pro.cxx
то есть все больше выглядит как нормальный код, а не шаблон на шаблоне
источник

ИИ

Иванов Иванов... in pro.cxx
Vlad Serebrennikov
метапрограммирование и так уходит от типов к привычным значениям
это субъективное ощущение или есть системный обзор?
источник

CD

Constantine Drozdov in pro.cxx
Vlad Serebrennikov
метапрограммирование и так уходит от типов к привычным значениям
мне лично не очень понятно, что лежит под этой тенденцией, кроме более удобного синтаксиса функций и случая ассоциированных с операцией компильтайм данных
источник

CD

Constantine Drozdov in pro.cxx
по крайней мере, сторонники этого направления пока не показали мне чудес
источник

ИИ

Иванов Иванов... in pro.cxx
Constantine Drozdov
если кратко, есть мнение, что метапрограммирование - наш единственный путь
метапрограммирование это сильная сторона плюсов. также вывод типов тоже, тут хвалили раст за сильную типизацию но нет - так делать не надо.
я имел ввиду, что взглянуть может под новым углом на всё это.
источник

VS

Vlad Serebrennikov in pro.cxx
Иванов Иванов
это субъективное ощущение или есть системный обзор?
я больше про поддержку этого направления языком

смотрите, как с каждым новым стандартом в constexpr можно делать все больше и больше
источник

CD

Constantine Drozdov in pro.cxx
Иванов Иванов
метапрограммирование это сильная сторона плюсов. также вывод типов тоже, тут хвалили раст за сильную типизацию но нет - так делать не надо.
я имел ввиду, что взглянуть может под новым углом на всё это.
Не хочется устраивать длинных холиваров, но ИМХО система ссылок раста это прорыв для общей плюсовой концепции, а система трейтов - шаг назад
источник

VS

Vlad Serebrennikov in pro.cxx
Constantine Drozdov
мне лично не очень понятно, что лежит под этой тенденцией, кроме более удобного синтаксиса функций и случая ассоциированных с операцией компильтайм данных
еще ускорение компиляции и уменьшение объема памяти, потребляемой компилятором (в общем случае)
источник

CD

Constantine Drozdov in pro.cxx
Vlad Serebrennikov
еще ускорение компиляции и уменьшение объема памяти, потребляемой компилятором (в общем случае)
не очень понятно, почему запись unit_type<T> вместо T ускоряет компиляцию
источник

BB

Bald Badger in pro.cxx
Всем здравствуйте!
источник

VS

Vlad Serebrennikov in pro.cxx
Constantine Drozdov
не очень понятно, почему запись unit_type<T> вместо T ускоряет компиляцию
не очень понял ваш пример, но я говорю о том, как, например, теперь можно считать фибоначчи от N, не инстанцируя N шаблонов классов или и того больше
источник

AK

Alexey Kuznetsov in pro.cxx
Vlad Serebrennikov
я больше про поддержку этого направления языком

смотрите, как с каждым новым стандартом в constexpr можно делать все больше и больше
Настолько больше что местами для этого хочется дебаггер поиметь.
источник

CD

Constantine Drozdov in pro.cxx
Vlad Serebrennikov
не очень понял ваш пример, но я говорю о том, как, например, теперь можно считать фибоначчи от N, не инстанцируя N шаблонов классов или и того больше
это замечательно, только какое это имеет отношения к метапрограммированию?
источник

BM

Bob Marley in pro.cxx
Alexander Zaitsev
может сделать свой optional, который при обращении к значению, если значения нет, будет кидать исключение\abort (будет прям как в Rust)
Здравствуйте.
Человек @semyondyachenko не может попасть к вам в чат. Можете проверить его на предмет бана?
источник

A

Alexander in pro.cxx
Ребят кто может объяснить мне почему std::forward выкидывает ссылку из типа если аргумент const?

MyClass myClass; // простая структура из пары переменных

MyClass& class_ref = myClass;
std::forward<MyClass&>(class_ref); // всё ок

const MyClass& class_const_ref = myClass;
std::forward<const MyClass&>(class_const_ref); // no instance of overloaded function "std::forward" matches the argument list: (const MyClass)
источник

D

Danya in pro.cxx
Alexander
Ребят кто может объяснить мне почему std::forward выкидывает ссылку из типа если аргумент const?

MyClass myClass; // простая структура из пары переменных

MyClass& class_ref = myClass;
std::forward<MyClass&>(class_ref); // всё ок

const MyClass& class_const_ref = myClass;
std::forward<const MyClass&>(class_const_ref); // no instance of overloaded function "std::forward" matches the argument list: (const MyClass)
В std::forward не надо ссылки передавать
источник

Р

Роман in pro.cxx
Я может че не понимаю, но перемещаемый обьект не может быть константным?
источник

D

Danya in pro.cxx
Роман
Я может че не понимаю, но перемещаемый обьект не может быть константным?
Не может по сути
источник