En MFC, j'utiliserais plutot la classe template CList<...,...> qui est très facile d'utilisation, on peut la transformer en fifo grace aux méthodes :
AddTail(), GetTail()
On a un iterator aussi : POSITION, qu'on peut attacher à la fin de la liste :
GetTailPosition() couplé avec GetPrevPosition()
Enfin bref, c'est pas mal en MFC.