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

Ребят, вопрос: что за стрелочка, что она делает? template<typename T> auto write(std::ostream&

os, T value) -> std::size_t
{

5 ответов

9 просмотров

trailing return type ничего не делает, кроме того, что позволяет писать возвращаемый тип после параметров (иногда это важно)

Daniil-Sinkevich Автор вопроса
Vlad
trailing return type ничего не делает, кроме того,...

А можно в пример кейс использования?

Daniil Sinkevich
А можно в пример кейс использования?

template<typename F> auto foo(F&& f) -> decltype(void(f())) {} int main(int argc, char *argv[]) { foo([]{}); }

Daniil Sinkevich
А можно в пример кейс использования?

template<typename T, typename U> auto add(T t, U u) -> decltype(t + u); без trailing return type пришлось бы городить что-то такое: template<typename T, typename U> decltype(std::declval<T>() + std::declval<U>()) add(T t, U u); из приятных мелочей: auto foo() -> int auto bar() -> std::vector<int> auto baz() -> std::unordered_map<std::string, std::string> названия функций красиво выровнены вне зависимости от длины названия возвращаемого типа

Daniil-Sinkevich Автор вопроса
Vlad
template<typename T, typename U> auto add(T t, U u...

Теперь вопрос по decltype:

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Карта сайта