Итератор динамического массива в структуре - PullRequest
0 голосов
/ 16 мая 2019

Как создать итератор для динамического массива (в структуре)?

1 Ответ

0 голосов
/ 16 мая 2019

Ваш динамический массив, представленный типом struct _Lista, , не содержит "элементы любого типа". По крайней мере, не напрямую. Он содержит только и точно элементы типа void *. Почти все, что вы написали, будет работать, если вы измените тип iterator соответственно на указатель double :

typedef void **iterator;

Обратите внимание, однако, что эта реализация итератора имеет серьезный недостаток: она не несет никакой информации о границах списка. Это может быть хорошо, если вы убедитесь, что после последнего допустимого элемента есть значение часового (и, может быть, и до первого), но в противном случае вам понадобится более сложная структура данных, чем один указатель.

...