170 похожих чатов

Вопрос для знатоков стандарта: распространяется ли исправление https://cplusplus.github.io/LWG/issue1203 , попавшее

в C++20, на предыдущие стандарты?

Откуда возник вопрос: https://stackoverflow.com/questions/69320918/why-does-taking-istream-to-a-temporary-stringstream-works-but-not-when-tak
Кажется, что код из вопроса корректен только начиная с C++20: до C++11 у нас вообще нет мув-семантики, в C++17 там слева ещё требуется istream&&.

Но на cppreference это не так давно убрали и сказали, что поведение одинаковое аж с C++11 — это вообще законно? https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_istream/operator_gtgt2&diff=116602&oldid=106958

10 ответов

9 просмотров

А есть объяснение как временный объект stringstream биндится к не конст ссылке istream?

Egor-Suvorov Автор вопроса
Danya🔥
А есть объяснение как временный объект stringstrea...

Да. Никак. Там есть специальная перегрузка operator>> с левым rvalue-аргументом, которая перенаправляет, как раз Brian Bi на SO отвечает. И вот она то ли разная во всех стандартах, то ли, после принятия LWG1203 в 2020, стала одинаковой во всех стандартах — я вот этого не понимаю.

Egor-Suvorov Автор вопроса

Переформулирую вопрос: может ли вообще изменяться уже опубликованный стандарт? Скажем, каким-нибудь Defect Report. Или они только говорят, что надо в очередной ревизии стандарта что-то подкорректировать?

Egor Suvorov
Переформулирую вопрос: может ли вообще изменяться ...

Может, но это отдельно пишется. Например исправления std::format бэкпортируют из С++23 в С++20

Egor-Suvorov Автор вопроса
Stanislav Ershov
Может, но это отдельно пишется. Например исправлен...

Я так понял, что речь про вот это: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2216r3.html#polls А есть ли где-нибудь список таких портированных штук? Я вижу, что по опросам получилось "Strong consensus for DR against C++20", но на странице https://cplusplus.github.io/LWG/lwg-defects.html отдельного LWG не вижу

Egor Suvorov
Я так понял, что речь про вот это: http://www.open...

>Changed the following 280 issues to C++20 (from WP) я думаю, это он и есть

Egor-Suvorov Автор вопроса
Vlad
>Changed the following 280 issues to C++20 (from W...

Ну, они там явно перечислены и все на этой странице есть, у каждого свой номер вида LWG1234. Но поиск 2216 или каких-то цитат из секции "wording" P2216R2 ничего не находит.

Egor Suvorov
Ну, они там явно перечислены и все на этой страниц...

я ничего не нахожу на этот счет если это как-то поможет, то вот коммит, где эту бумагу добавили в стандарт https://github.com/cplusplus/draft/commit/cfc0da32db0c02758e2e027980fff0f12625b542

Egor-Suvorov Автор вопроса
Vlad
я ничего не нахожу на этот счет если это как-то по...

Да, в ближайший стандарт понятно. Мне интересно, как это влияет на будущие. Пока спросил на SO, надеюсь, формулировки достаточно ясные: https://stackoverflow.com/questions/69325059/was-lwg1203-more-useful-rvalue-stream-insertion-retroactively-applied-to-c11 https://stackoverflow.com/questions/69325106/is-there-a-list-of-all-changes-retroactively-applied-to-published-c-standards

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
Hello, can I install macOS and run flutter on a virtual machine? Is it possible to print for iphone?
Mazones
11
Дороу! У кого-нибудь есть в загашнике проверенная функция экранирования, аналог re.escape в Python? Из доки: » Escape all the characters in pattern except ASCII letters and n...
Daniil Smolyakov
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Карта сайта