Evgenii
contiguous же😜
Aleksei
Есть ли способ определить, что выражение является rvalue в vc10?
Крылатый
Anatoly
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.html
Крылатый
Хотя он и простой:
template <class T> struct is_rvalue_reference : std::false_type {};
template <class T> struct is_rvalue_reference<T&&> : std::true_type {};
Evgenii
http://en.cppreference.com/w/cpp/iterator
Aleksei
Evgenii
шта?
Evgenii
ну и что? Это меняет стандарт?)
Evgenii
> Some code was broken because it assumed that std::random_access_iterator couldn't be refined, and had explicit cheks against it. Basically it broke bad code that didn't rely on polymorphism to check for the categories of iterators, but it broke code nonetheless, so contiguous_iterator_tag was removed from the proposal
Evgenii
since C++17
Ioann_
Ха, попахивает френдзоной, со всем вытекающими...
Evgenii
Aleksei
Grigory
а так?
struct fake
{
char i1;
char i2;
};
template<typename T> char f(const T& value);
template<typename T> fake f(T& value);
int i = 0;
if (sizeof( f(i) ) == 2)
std::cout << "l-value\n";
if (sizeof( f(1) ) == 1)
std::cout << "r-value\n";
if ( sizeof(f(process())) == 1)
std::cout << "r-value\n";
Aleksei
Grigory
ну тут больше T& для l-value, а для всех остальных SFINAE
Grigory
const T& по-умолчанию так сказать
Evgenii
AFAIK
Ioann_
А как работает static cast ?
Ioann_
То есть понятно что во время компиляции, но приводит ли это к появлению доп. кода ?
Ioann_
Ну это как вариант, да. Вот есть ощущение что приводит :(
Danylo
если перегруженный оператор преобразования, то должен быть доп код.
Evgenii
а если вкратце
Ivan
Evgenii
ну random говорит тебе - можно сделать it+7. contiguous говорит - можно сделать (value_type *)it+7
Evgenii
какого нет?
Evgenii
по ссылке что ты кинул есть
Evgenii
потому что категории нет
Evgenii
типа tag
Evgenii
ну так таблица не тегов же
Evgenii
таг не сделали потому что ломает
Evgenii
> Some code was broken because it assumed that std::random_access_iterator couldn't be refined, and had explicit cheks against it. Basically it broke bad code that didn't rely on polymorphism to check for the categories of iterators, but it broke code nonetheless, so contiguous_iterator_tag was removed from the proposal
🦥Alex Fails
Я сейчас недоступен для связи до 7 вечера.
Evgenii
это другой вопрос)
Evgenii
он ломает обратную совместимость
Evgenii
прочитай что я прислал
Evgenii
поэтому отказались
Evgenii
ну будет довольно странно решить не добавлять изменение из-за того что оно ломает совместимость а потом передумать
Berkus
Evgenii
> It is very convenient to know when a given range [i1..i2) has contiguous memory. Some examples:
• Passing buffers to C APIs
• Algorithm improvements; e.g., memcpy a contiguous POD
• (Proposed) string_view can be constructed from any contiguous range of chars
Evgenii
я и не спорю что без тега это бессмысленно. Я только не согласен что с тегом добавлять такое неправильно
Alexander
3
Svetlana
Вот тут новая вакансия для Разработчика C++ г. Москва в стартап робототехники для тех, кому не нужны печеньки и смузи в офисе, а промышленные манипуляторы, лазерные сканеры и еще целая куча крутого оборудования наиболее прикольная вещь. Джуны 80000-100000. Мидл 120000-180000. Синьеор от 200000 р
https://t.me/Getitrussia
Крылатый
А вот это хоррошо!
MrSmith
Svetlana
-)) А то-))
MrSmith
В ferst участвовал)
Svetlana
И джуны тоже-)) Большой подбор
Крылатый
Стоп.
Крылатый
А пост вакансии согласован с @AlexFails ?
Крылатый
А то у нас тут кидать вакансии моветон.
Крылатый
@itrecruit чпк
Svetlana
Исправила
Svetlana
Написала
Nikita
тут нельзя вакансии обсуждать
Nikita
AFAIK
Svetlana
а где лучше?
Крылатый
В шапке чата написано же...
Крылатый
Для вакансий отдельный канал.
Svetlana
2ой день молчит
Svetlana
Nikita
Наши чаты:
@supapro – чат для начинающих и тех, кто хочет изучить язык;
@fludpac – флуд сюда;
@pro_net – чатик по .NET;
Наши каналы:
@ProCxxNews – новости и мероприятия;
@ProCxxChannel – небольшие заметки и ссылки;
@ProCxxJobs – вакансии;
@xthon – цитатник;
Ближайшее мероприятие
C++ Syberia – https://t.me/ProCxxNews/43
Правила чата
Команда /rules. Чтобы она сработала, надо стартануть @gbreborn_bot
---------
Мы тут пилим подкаст по плюсам и нам нужна небольшая помощь с выбором ведущего (ведущих): https://goo.gl/forms/RfS9Sk4Z56ldoThJ2
Nikita
канал, но не чат
Svetlana
Спасибо, братцы, вот сюда повешу ее @ProCxxJobs
Денис
Ioann_
Не приводит
А как ты в компайл тайме float -> double приведешь ,
Ioann_
?
Grigory
вот такая есть фраза тут http://en.cppreference.com/w/cpp/language/reinterpret_cast "...Unlike static_cast, but like const_cast, the reinterpret_cast expression does not compile to any CPU instructions...". Косвенно, н овсе же...
Grigory
плюс static_cast вызывает пользовательские преобразования
Grigory
так что код какой-нить да нагенерится
Ioann_
Хотя, если float 4 байта, а double 8 .... Может просто второй байт продолжение мантиссы... Я уже не очень помню сколько бит отводится в float, в double 53 штоли
Ioann_
Да если компайл тайм константа - не вопрос
Ioann_
А если не компайл тайм, а где то там вычисляется ? Вот я сижу пробую понять что там происходит ....