slist的迭代器为啥要设计地这么复杂