MFCでCArray使ってて、配列要素から要素番号を得る方法が
ないと言われて作ってあげた関数だが↓

int CLine::GetIndex(CDoc *doc)
{
int iRet = int(this - doc->m_lines.GetData());

return iRet;
}

・・・別にトリッキーじゃないよな。「thisからCArray.GetData()を
引けばいいだけじゃん」と何度教えても、VBメインの香具師には
伝わらないかと思った。