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

Скажите пожалуйста, а есть какой-то способ без C++20 ranges или

boost ranges или open-coded loop скопировать в другой контейнер не объекты целеком, а конкретный мембер объекта, для всех объектов? как-то back_inserter с mem_fn не дружится у меня

16 ответов

29 просмотров

эмм, std::transform?

std::transform + [] (Widget a) { return a.b; } — первое, что приходит на ум

Vlad
std::transform + [] (Widget a) { return a.b; } — п...

Лямбду можно заменить на mem_fn(&Widget::b). Мне кажется что где-то мне хватало и просто Widget::b без mem_fn, но не соображу при каких условиях.

magras
Лямбду можно заменить на mem_fn(&Widget::b). Мне к...

Везде, где invoke под капотом, так как std::invoke(&Widget::b, widget) == widget.b

magras
Лямбду можно заменить на mem_fn(&Widget::b). Мне к...

Ну, &Widget::b это Callable, который принимает первым и единственным аргументом Widget, в каких то таких ситуациях и прокатывает

Alexander Karaev
Везде, где invoke под капотом, так как std::invoke...

Да, точно. Тогда выяснилось что в нашей кодовой базе это не работало потому что не было реализации invoke.

Андрей Руссков
нет же...

Чо нет, это pointer to data member

Kirill Bolshakov
Чо нет, это pointer to data member

то, что его можно вызвать через invoke, не значит, что это callable...

Kirill Bolshakov
> A Callable type is a type for which the INVOKE o...

A callable type is a function object type or a pointer to member. https://eel.is/c++draft/func.def#3

Vlad
A callable type is a function object type or a poi...

Ну pointer на data member сюда входит

Kirill Bolshakov
> A Callable type is a type for which the INVOKE o...

но обратное не обязательно верно

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта