Size: a a a

2021 March 24

IZ

Ilia Zviagin in pro.cxx
Задавай вопросы по существу , пожалуйста.
источник

В

Владимир in pro.cxx
Понял ,извиняюсь
источник

AP

Antony Polukhin in pro.cxx
не-не-не, нужен имменно std ranges
А в нём нет spllit_when
источник

AP

Antony Polukhin in pro.cxx
Кстати, держите весёлый пример , когда volatile меняет значение выражения https://godbolt.org/z/7M569MP94
источник

VK

Valentin Kornienko in pro.cxx
Antony Polukhin
не-не-не, нужен имменно std ranges
А в нём нет spllit_when
кстати, а чего ренджи не полностью вошли в стандарт?
источник

BU

Boris Usievich in pro.cxx
Antony Polukhin
не-не-не, нужен имменно std ranges
А в нём нет spllit_when
ну так это баг конкретной реализации или что?
источник

AP

Antony Polukhin in pro.cxx
Valentin Kornienko
кстати, а чего ренджи не полностью вошли в стандарт?
Оно здоровенные... пока втащили не всё, но работа продолжается
источник

AP

Antony Polukhin in pro.cxx
Boris Usievich
ну так это баг конкретной реализации или что?
Я пока не понял, это libstdc++ неправильно реализован, из-за чего второе выражение не компилируется; или это по стандарту так
источник

BU

Boris Usievich in pro.cxx
ну чуток подождем, и MS закончит свою реализацию ranges и можно будет сравнить
источник

ИI

И Ivan in pro.cxx
Видимо потому, что тогда начинает вычисляться не в compile-time.
источник

ИI

И Ivan in pro.cxx
Для этого примера и constexpr не нужен
источник

AP

Antony Polukhin in pro.cxx
И Ivan
Видимо потому, что тогда начинает вычисляться не в compile-time.
ага. Точность в compile time может отличаться от runtime
источник

AD

Andrey Davydov in pro.cxx
Проблема в том, что libstdc++ (безуспешно) пытается определить join_view<...>::_Iterator::iterator_category и обламывается по ходу, при том что в принципе не должен этого делать: http://eel.is/c++draft/range.join#iterator-2
источник

PZ

Pavel Zhigulin in pro.cxx
Alex Chernov
@pavel_zhigulin ты такое любишь!
Я ренжи вообще не люблю, стоит с этого начать :) Концепция мне нравится, но то, во что это всё превращается в плюсах - нет :)
источник

S

Sergey in pro.cxx
Кто нибудь знает, ожидается ли в пост-С++20 стандартах сильная типизация в духе
using Foo = int;
using Bar = int;
Foo foo = 0;
Bar bar = foo; // Error: could not cast Foo to const Bar& in Bar::Bar(const Bar&)

?
источник

PZ

Pavel Zhigulin in pro.cxx
Я вот понять вообще не могу, как оно в целом работает :) Библиотеку ренджей я не особо знаю, полез в документацию, но у split даже не предусмотрено конструктора с одним аргументом:

https://en.cppreference.com/w/cpp/ranges/split_view
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Sergey
Кто нибудь знает, ожидается ли в пост-С++20 стандартах сильная типизация в духе
using Foo = int;
using Bar = int;
Foo foo = 0;
Bar bar = foo; // Error: could not cast Foo to const Bar& in Bar::Bar(const Bar&)

?
Нет, это решается библиотеками
источник

PZ

Pavel Zhigulin in pro.cxx
Sergey
Кто нибудь знает, ожидается ли в пост-С++20 стандартах сильная типизация в духе
using Foo = int;
using Bar = int;
Foo foo = 0;
Bar bar = foo; // Error: could not cast Foo to const Bar& in Bar::Bar(const Bar&)

?
Я боюсь это никогда не появится, ибо сломает тонны кода.
источник

S

Sergey in pro.cxx
Они вообще не об этом.

Я имею ввиду, что мне нужно массово объявлять много некастуемых друг к другу типов, внутри которых примитивные интегральные и флоты.

У нас сейчас это делается макроснёй. В лучшем случае макрос на 2-3 строчки, который объявляет пустой тип-тег и инстанс шаблона с этим тегом.
источник

S

Sergey in pro.cxx
Sergey
Они вообще не об этом.

Я имею ввиду, что мне нужно массово объявлять много некастуемых друг к другу типов, внутри которых примитивные интегральные и флоты.

У нас сейчас это делается макроснёй. В лучшем случае макрос на 2-3 строчки, который объявляет пустой тип-тег и инстанс шаблона с этим тегом.
Это был ответ на explicit ctor.
источник