вот тут согласен отчасти. может быть даже не язык нужен, а подборка идиом (ведь по-сути владение в rust это идиома). немного отойти от навороченного метапрограммирования и классов.
если кратко, есть мнение, что метапрограммирование - наш единственный путь
вот тут согласен отчасти. может быть даже не язык нужен, а подборка идиом (ведь по-сути владение в rust это идиома). немного отойти от навороченного метапрограммирования и классов.
метапрограммирование и так уходит от типов к привычным значениям
метапрограммирование и так уходит от типов к привычным значениям
мне лично не очень понятно, что лежит под этой тенденцией, кроме более удобного синтаксиса функций и случая ассоциированных с операцией компильтайм данных
если кратко, есть мнение, что метапрограммирование - наш единственный путь
метапрограммирование это сильная сторона плюсов. также вывод типов тоже, тут хвалили раст за сильную типизацию но нет - так делать не надо. я имел ввиду, что взглянуть может под новым углом на всё это.
метапрограммирование это сильная сторона плюсов. также вывод типов тоже, тут хвалили раст за сильную типизацию но нет - так делать не надо. я имел ввиду, что взглянуть может под новым углом на всё это.
Не хочется устраивать длинных холиваров, но ИМХО система ссылок раста это прорыв для общей плюсовой концепции, а система трейтов - шаг назад
мне лично не очень понятно, что лежит под этой тенденцией, кроме более удобного синтаксиса функций и случая ассоциированных с операцией компильтайм данных
еще ускорение компиляции и уменьшение объема памяти, потребляемой компилятором (в общем случае)
Ребят кто может объяснить мне почему 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 выкидывает ссылку из типа если аргумент 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)