Я следую за образец D2D и в нем, этот код придумал:Как определить, использовать ли '->' по сравнению с '.
if(!(D2D1_WINDOW_STATE_OCCLUDED & m_renderTarget->CheckWindowState()))
{
m_renderTarget->BeginDraw();
Draw();
if(m_renderTarget->EndDraw() == D2DERR_RECREATE_TARGET)
{
m_renderTarget.Reset();
Invalidate();
}
}
я заметил, что m_renderTarget используется как -> (я забыл, как это называется), а затем использует оператор точки. По какой-то причине я думал, что использование может использовать только одно или другое в зависимости от того, был ли он ссылочным типом или типом значения. По-видимому, я ошибся, но не могу найти информацию о том, когда использовать каждого оператора (или более того, цель каждого оператора.)
Любые разъяснения были бы весьма признательны.
Это выглядит действительно странно. Какой тип m_renderTarget? –
@AxelGneiting это далеко не странно, на самом деле это очень распространено, просто посмотрите на любой умный указатель. ;) – syam
Я знаю, что такое умный указатель. Он просто выглядел так: «Сброс()» - это какой-то вызов API для цели рендеринга, но на самом деле это вызов интеллектуального указателя. –