Size: a a a

Конференция C++ Russia

2021 March 06

I

Ilya in Конференция C++ Russia
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Всем спасибо :)
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Просто чёт вдруг появилось ощущение, что я забыл С++ :)
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Хочу проверить)
источник

SP

Sergey Platonov in Конференция C++ Russia
Переслано от Phillip Khandeliants
источник

SP

Sergey Platonov in Конференция C++ Russia
FORTRAN ONE LOVE
@sermp, а где там сборник UB-шечек с С++Сибири?)
^^^
источник

FO

FORTRAN ONE LOVE in Конференция C++ Russia
Спасибо :)
источник

NY

Nikita Yegorov in Конференция C++ Russia
источник

IV

Ignat Voroshilov in Конференция C++ Russia
определите, пожалуйста, константу MIN_INT
источник

NY

Nikita Yegorov in Конференция C++ Russia
Ignat Voroshilov
определите, пожалуйста, константу MIN_INT
https://twitter.com/Nekrolm/status/1109873895132356609
Туда, всё туда

numeric_limits<int>::min(), полагаю

Но это не точно
источник

NY

Nikita Yegorov in Конференция C++ Russia
INT_MIN
источник

NY

Nikita Yegorov in Конференция C++ Russia
Ignat Voroshilov
определите, пожалуйста, константу MIN_INT
#define INT_MIN     (-2147483647 - 1)

Ну, почти
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Скинули мне тут прикольный код
https://godbolt.org/z/s44o79

Я, к своему стыду, медитировал над ним почти час, прежде чем понял почему так.
источник

LA

Liber Azerate in Конференция C++ Russia
Pavel Zhigulin
Скинули мне тут прикольный код
https://godbolt.org/z/s44o79

Я, к своему стыду, медитировал над ним почти час, прежде чем понял почему так.
А, ну это баян уже. А так, вот в данном месте система типов плюсов как-то подкачала, по мне...
источник

LA

Liber Azerate in Конференция C++ Russia
Впрочем, я тут задумался, что не до конца этот вопрос разобрал. Да, по этому сиё валидно, но почему нельзя сделать сначала lvalue-to-rvalue conversion и вызвать нужную перегрузку?
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Liber Azerate
А, ну это баян уже. А так, вот в данном месте система типов плюсов как-то подкачала, по мне...
Баян-то понятно) Просто я как-то не сталкивался с этой бедой и уже реально подзабыл в чём там суть :) На автомате просто фигачу std::forward и std::move там где вижу &&, и уже позабыл в чём там весь цимес)
источник

NY

Nikita Yegorov in Конференция C++ Russia
Pavel Zhigulin
Баян-то понятно) Просто я как-то не сталкивался с этой бедой и уже реально подзабыл в чём там суть :) На автомате просто фигачу std::forward и std::move там где вижу &&, и уже позабыл в чём там весь цимес)
+1
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Liber Azerate
Впрочем, я тут задумался, что не до конца этот вопрос разобрал. Да, по этому сиё валидно, но почему нельзя сделать сначала lvalue-to-rvalue conversion и вызвать нужную перегрузку?
Читаем из определения lvalue-to-rvalue conversion:

A glvalue of a non-function, non-array type T can be converted to a  __prvalue__

Т.е. оно хоть и называет to-rvalue conversion, на самом деле оно to-prvalue. Об этом даже у них сноска ниже есть:

For historical reasons, this conversion is called the “lvalue-to-rvalue” conversion, even though that name does not accurately reflect the taxonomy of expressions described in [basic.lval].

Дело в том, если я правильно понимаю, нам нужно конвертнуть в xvalue.
источник

LA

Liber Azerate in Конференция C++ Russia
Pavel Zhigulin
Читаем из определения lvalue-to-rvalue conversion:

A glvalue of a non-function, non-array type T can be converted to a  __prvalue__

Т.е. оно хоть и называет to-rvalue conversion, на самом деле оно to-prvalue. Об этом даже у них сноска ниже есть:

For historical reasons, this conversion is called the “lvalue-to-rvalue” conversion, even though that name does not accurately reflect the taxonomy of expressions described in [basic.lval].

Дело в том, если я правильно понимаю, нам нужно конвертнуть в xvalue.
Я уже добрался до этого
Однако здесь больше подходит это:
https://eel.is/c++draft/conv.lval#3.4
И я всё ещё не понимаю
источник

LA

Liber Azerate in Конференция C++ Russia
Как бы prvalue здесь тоже является приемлемым
источник