Получите максимальное число и верните его собственную запись как & ldquo; представитель группы & rdquo; [Дубликат]

В дополнение к остальным ответам до сих пор здесь неочевидный пример, где static_cast недостаточно, чтобы reinterpret_cast был необходим. Предположим, что есть функция, которая в выходном параметре возвращает указатели на объекты разных классов (которые не имеют общего базового класса). Реальным примером такой функции является CoCreateInstance() (см. Последний параметр, который фактически является void**). Предположим, вы запрашиваете определенный класс объекта из этой функции, поэтому заранее знаете тип указателя (который вы часто делаете для COM-объектов). В этом случае вы не можете наложить указатель на указатель на void** с помощью static_cast: вам нужно reinterpret_cast(&yourPointer).

В коде:

#include 
#include 
.....
INetFwPolicy2* pNetFwPolicy2 = nullptr;
HRESULT hr = CoCreateInstance(__uuidof(NetFwPolicy2), nullptr,
    CLSCTX_INPROC_SERVER, __uuidof(INetFwPolicy2),
    //static_cast(&pNetFwPolicy2) would give a compile error
    reinterpret_cast(&pNetFwPolicy2) );

Однако static_cast работает для простых указателей (не указателей на указатели), поэтому приведенный выше код можно переписать, чтобы избежать reinterpret_cast (at цена дополнительной переменной) следующим образом:

#include 
#include 
.....
INetFwPolicy2* pNetFwPolicy2 = nullptr;
void* tmp = nullptr;
HRESULT hr = CoCreateInstance(__uuidof(NetFwPolicy2), nullptr,
    CLSCTX_INPROC_SERVER, __uuidof(INetFwPolicy2),
    &tmp );
pNetFwPolicy2 = static_cast(tmp);

0
задан Bill Karwin 13 July 2018 в 23:06
поделиться

1 ответ

Если вам нужна одна строка, используйте order by и limit:

SELECT F. *
FROM FOLIOS F
ORDER BY F.FOLIO DESC
LIMIT 1;
0
ответ дан Gordon Linoff 17 August 2018 в 12:06
поделиться
  • 1
    Я считаю, что он хочет все строки, но id он ожидает наивысший индекс группы: ---------- id: 2 folio: 10 и max: 2 gyazo.com/169b5ca15e7874f7b34aad33f0c95f58 – abr 13 July 2018 в 23:06
  • 2
    @Gordon Я считаю, что он хочет вернуть все записи, принадлежащие к той же группе фолио, которая содержит значение MAX() для index. По крайней мере, это мое чтение. – Edward 13 July 2018 в 23:07
Другие вопросы по тегам:

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