Как развернуть макрос в шаблон

310
08 декабря 2017, 04:32
#define GET_ID(ID) ( ( ID ) >> 16 )
Answer 1
template <class I, class = std::enable_if_t<std::is_integral_v<I>>>
auto GET_ID(I value) -> decltype(value >> 16) {
    return value >> 16;
};

Пойдёт? :)

READ ALSO
О типах библиотек debug, release, debug dll, release dll

О типах библиотек debug, release, debug dll, release dll

Хочу основательно разобраться в вопросе о типах библиотек и параметрах /MT (статическая), /MD (dll), /MTd (статическая дебаг) и /MDd (дебаг dll)То, чем...

295
Повреждение кучи

Повреждение кучи

По заданию необходимо считать строки и затем рассортировать четно-нечетной сортировкой слияния БэтчераНельзя использовать stl контейнеры,...

270
Решить пример на С++ [требует правки]

Решить пример на С++ [требует правки]

Не получается описать данный пример на С++, пытался через массивы, но получалась полная каша

261
Оператор присваивания в C++

Оператор присваивания в C++

Есть несколько моментов в описании оператора присваивания (assignment operator) в стандарте языка, которые мне не ясны, и хотелось бы их прояснить

325